2017-06-28 7 views
0

このようなチェーンを使用できますか?NSURLプロトコルチェーン?

例えば、私はabc://wwww.example.comのようなURLはNSURLProtocolのサブクラスによって処理されることを知っています。しかし、それは第三者図書館からのものであり、私はその応答を修正するためのソースコードを持っていません。だから私はxyz://www.example.comのようなURLを扱うNSURLProtocolの別のサブクラスを提供します。私は傍受してabcからxyzにURLを変更することができます。私自身のstartLoading()では、urlをxyzからabcに変更し、NSURLSessionを使用してabc://www.example.comにリクエストを送信しましたが、エラーが発生し、リクエストがサードパーティのNSURPProtocolサブクラスを経由しなかったようです。

どのような提案ですか?

答えて

0

NSURLProtocolサブクラスは、NSURLConnectionに対してグローバルに登録されています。 NSURLSessionの場合、登録はセッションごとに行われます。

NSURLProtocolをサードパーティのライブラリに影響するように登録する場合は、私が気づいている唯一の方法は、すべてのセッション作成方法をNSURLSessionに振って、それらを注入するコードでラップすることですあなたのカスタムプロトコルを途中で設定してください。

+0

これは非常に便利です。このような違いはありません。ありがとうございました! – Rao