web-dev-qa-db-ja.com

iOS9.0でopenURLによってトリガーされる「開きたい」ダイアログを回避する方法

OpenURLを使用してapp B from App Aを開くと、このアラートダイアログが表示されます "App A開きたいApp B "、「開く」と「キャンセル」の2つのボタンがあります。

「キャンセル」を押すとアプリBが開かず、ダイアログが再び表示されます。

「開く」を押すと、アプリBが開き、ダイアログが再び表示されなくなります。

そもそも見えないようにしたいと思います。 app BにopenURLを実行するときにダイアログの手順をスキップするために、app Aのinfo.plistに追加する必要があるキーがあるかどうか疑問に思っています。

何か案は?

更新:

確認したところ、問題の解決策が思いつかなかった。このダイアログは関係なく表示されるようです。 Appleは、両方のアプリが私のものであるかのように自動的に処理するオプションを追加することを願っています。論理的には、それらの切り替えを確認するダイアログはありません...

15
Roy K

何時間もチェックした後、私は自分の問題の解決策を思い付くことができませんでした。このダイアログは何に関係なく表示されるようです... Appleは、両方のアプリが私のものであるかのように、アプリのinfo.plistにそれを処理するオプションを追加することを願っています。それらの間の切り替えを確認するためのダイアログ...

3
Roy K

http://www.macstories.net/linked/ios-9-bringing-changes-to-url-schemes/

IOS 9以降、アプリは、Appleに送信されるときに、アプリの構成ファイルで確認して開くことができるURLスキームを宣言する必要があります。これは基本的にホワイトリストであり、Appleにアップデートを送信することによってのみ変更または追加できます。

openURL/canOpenURLは、ユーザーのプライバシーのためにiOS9で変更されました。読むことをお勧めします http://awkwardhare.com/post/121196006730/quick-take-on-ios-9-url-scheme-changes

これで、他の許可要求に従って、最初に許可を要求したときにこのプロンプトが表示されます。これはOSの変更であり、メッセージなどのコアアプリケーションを含むアプリは、カスタムURLスキームを初めて開くときに許可を求めるようになりました。

また、Universal Linksを使用して、実行しようとしていることを達成できる場合があります https://developer.Apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//Apple_ref/doc/uid/TP40016308-CH12

4
Steve Forbes