これにはしばらく時間がかかりましたが、記憶が正しければ、カスタム URL スキームを使用しました。
私の特定の状況では、アプリが存在する場合はアプリを起動し、存在しない場合はスマートアプリのバナーを表示する必要がありました。
一言で言えば、これがあなたのやり方です:
- 独自のスマート アプリ バナーを作成する
- アプリでカスタム URL スキームを設定する
- Safari からカスタム URL を呼び出す
- アプリがインストールされている場合、アプリが起動します。そうでない場合は、ハングします。
- ハングした場合は、リクエストをキャンセルし、バナーを表示します。
たとえば、「happyBirds」という新しいアプリを想像してみてください。コードでは、次のようになります。
setTimeout(function () {
window.location = "#"; // Effectively cancels the following window.location command if the app is not installed.
$('#smartAppBanner').show(); // Make up your own smart app banner, and show it.
}, 100);
window.location = "happyBirdsCustomUrl://"; // If this is successful, the app will be launched, and the setTimeout will never fire
また、アプリが存在する場合に単に「true」を返すカスタム URL スキームを作成し、iFrame 内からアプリを起動しようとしても、うまくいきませんでした。1時間くらい空いたら挑戦してみようかな。
詳細については、次の投稿を必ずご覧ください。
アプリが iPhone の Web ページからインストールされているかどうかを確認する方法は?
http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html
お役に立てれば!敬具、キース:)