我有一个使用 WebKit WebView 的应用程序,我想将使用自定义 URL 协议加载在此 WebView 中的 URL 映射到不同的 HTTP URL。例如,假设我正在加载:
自定义://路径/到/资源
我想在内部实际加载:
http://something-else.com/path/to/resource
换句话说,自定义协议几乎可以用作速记。但是我不能使用 -webView:resource:willSendRequest:redirectResponse:fromDataSource:,因为我希望 WebKit 实际上相信这是有问题的 URL,而不是简单地从一个重定向到另一个。
到目前为止,我一直在尝试使用自定义 NSURLProtocol 子类。然而,事实证明这比我最初想象的要棘手,因为至少在我的理解中,我必须自己在 NSURLProtocol 子类的 startLoading 方法中进行实际加载。我想要一种将工作交给现有 HTTP 协议加载器的方法,但我找不到一个简单的方法来做到这一点。
有没有人对此有建议,或者可能有解决此问题的替代方法?
谢谢!