私の iOS アプリでは、UIWebView とカスタム プロトコルを使用しています (独自の NSURLProtocol 実装を使用)。URL をロードするたびに、次のようなものを UIWebView にロードするように、かなり注意を払ってきました。
myprotocol://myserver/mypath
私の NSURLProtocol 実装では、NSURLRequest の変更可能なコピーを取得し、URL を http: に変換してサーバーに送信します。
HTTP GET リクエストではすべてが機能します。私が遭遇する問題は、POST リクエストに関するものです。リクエストがカスタム プロトコルを使用している場合、UIWebView が HTTPBody のフォーム データを適切にエンコードしていないようです。
サーバー要求に HTTPS を使用しているため、回避策の 1 つは、myprotocol: の代わりに http: をインターセプトするようにプロトコル ハンドラーを登録することです。すべての呼び出しを https: に変換できます。解決:
しかし、私が望むものを達成するための代替および/またはより良い方法があるかどうか疑問に思っています。