ちょっとおかしな状況。外部パートナーと協力して、ユーザーがログインできる Web ページを公開します。この Web ページは、 というパラメーターを受け取りますreturnURL
。これreturnURL
は、彼らのサービスへのログインが成功したときに呼び出され、このリターン URL の最後に、外部パートナーが後でアプリケーションで使用できるトークンを追加します。
私は iOS で作業しているため、returnURL としてアプリケーションの URL スキームを指定して、ログインが完了したときに Web ページがそれを呼び出すことができるようにします。
だから、それはこのようになります。彼らのウェブページ:
http://www.theirwebpage.com/?param1=x¶m2=y&returnURL=myAppsName://
私はウェブビューでウェブページを表示し、その中application:openURL:sourceApplication:annotation:
にリターン用のコードがあり、渡されたパラメータを解析しますmyAppsName://
問題
webview がアプリケーションの URL スキームを呼び出し、application:openURL:sourceApplication:annotation:
.
ただし、application:openURL:sourceApplication:annotation:
メソッドは iOS 7 で呼び出されることはありません。webview 自体がmyAppsName://{parameters}
を呼び出してから失敗するようです (詳細な説明については、UIWebView が呼び出しwebView:didFailLoadWithError:
、その中NSErrorFailingURLKey
で完全な を見つけることができますmyAppsName://extraParam1=bar&token=foo
)。
このタイプの呼び出し (UIWebView からアプリケーション自体への呼び出し) が許可されなくなった iOS 7 で発生した変更はありますか?