2018-06-26
NSURLProtocol 对象处理特定协议 URL 数据的加载。
NSURLProtocol 类自己是一个抽象类,提供了处理带有特定 Scheme 的 URL 的基础方法。
开发者为 App 所需要支持的自定义协议或者 URL Scheme 创建子类。
canInitWithRequest:
canonicalRequestForRequest:
requestIsCacheEquivalent:toRequest
startLoading:
stopLoading:
通过网上的文档了解到,在之前(iOS 10 之前),WKWebView 想要使用 NSURLProtocol 做拦截是不容易的,需要通过反射访问私有 API。
iOS 提供了 WKURLSchemeHandler,这个问题迎刃而解。
具体使用可以参考 Intercepting UIWebView & WKWebView — Custom URL Scheme handling。
我想做的事也能够实现了。