Type Method


Attempts to register a subclass of URLProtocol, making it visible to the URL loading system.


class func registerClass(_ protocolClass: AnyClass) -> Bool



The subclass to register.

Return Value

true if the registration is successful, false otherwise. The only failure condition is if protocolClass is not a subclass of URLProtocol.


Register any custom URLProtocol subclasses prior to making URL requests. When the URL loading system begins to load a request, it tries to initialize each registered protocol class with the specified request. The first URLProtocol subclass to return true when sent a canInit(with:) message is used to load the request. There is no guarantee that all registered protocol classes will be consulted.

Classes are consulted in the reverse order of their registration. A similar design governs the process to create the canonical form of a request with canonicalRequest(for:).

See Also

Registering and Unregistering Protocol Classes

class func unregisterClass(AnyClass)

Unregisters the specified subclass of URLProtocol.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software