itms-services is an "Unsupported URL" when registering custom NSURLProtocol

I have a service that returns the itms-service:// url to perform a update on the app that makes the request.

I also NSURLProtocol to handle https challenges and authentication space trust with my backend.


when I unregister the NSURLProtocol, the system loads the itms-services:// download request fine. When I add my own protocol, the unsupported URL message starts to happen.


I tried returning NO to canInitWithRequest: methods containing the itms-services URL scheme with no success.

The only way I got it to work is:

  • unregistering the custom NSURLProtocol for the time the service update and the subsequent call to itms-services occur
  • adding an arbitrary statement that returns no when a request to my app update backend URL is detected, therefore not performing custom trust verification to my backend to avoid MITM.


Does anyone know how to solve this?

itms-services is an "Unsupported URL" when registering custom NSURLProtocol
 
 
Q