私たちは iOS フレームワークを開発し、他の開発者に配布して彼らのアプリで使用したり、私たちが提供するいくつかのサービスを利用したりしました。それはうまく機能します(インビトロ)。しかし、iOS でのURL Loading Systemの仕組みにより、数行のコードですべての URL がすべての開発者の肉眼で見えるようになります。
あいまいさによるセキュリティが決して良い考えではないことはわかっていますが (HTTPS はクライアントの外部では常に透過的であるという一般的な誤解に影を落としています)、何らかの方法で URL を実装開発者から見えないようにする必要があります。
これまでのところ、私たちのフレームワークに簡単な代替案を実装することを検討しましたNSURLConnection
が、HTTPS 要件とすべてを考慮すると、困難な作業のように思えます。
NSURLProtocol
それ以上のクラスやその他のオプションを登録できないようにする方法はありますか?
NSURLProtocol
セキュリティをどのように台無しにするかについてのサンプルコードを次に示します。
class NetSniffer : NSURLProtocol {
override class func canInitWithRequest(request: NSURLRequest) -> Bool {
print("\(request.URL?.absoluteURL)")
return false
}
}
そしてあなたのapplication(_, didFinishLaunchingWithOptions:)-> Bool
:
NSURLProtocol.registerClass(NetSniffer)
AVPlayer
PS:カスタムDRMを作成するために に関連する URL 接続の結果を変更しようとしたときのことを鮮明に覚えていますNSURLProtocol
。手がかりになるかも!?