web-dev-qa-db-ja.com

Webサイトからアプリを起動しようとすると「アドレスが無効なため、Safariでページを開くことができません」というメッセージが表示される

デバイス:iPhone 5/iOS 9.

iOSアプリがあり、これをwebsiteから起動する必要があります。カスタムURLスキームを介してそれを行うことができました。

Webサイトの「Open App」ボタンをクリックすると、「SafariはMyAppを開きたい」という警告ダイアログが表示されます。

[〜#〜] ok [〜#〜]をクリックすると、すべてが問題ありません。アプリはウェブサイトから完全に起動します。

キャンセルをクリックすると、最初はアプリを起動できなくなりますが、これは正しいです。

Webサイトで「Open App」ボタンをもう一度クリックすると、同じ「SafariがMyAppを起動したい」という警告ダイアログが表示されますもう一度、- これは起きていません。

代わりに、「ページを開くことができません-アドレスが無効であるためSafariはページを開くことができません」というダイアログが表示されます。

私の想定では、Webサイトでそのリンク(カスタムURLスキームを介してアプリを起動できる)をクリックするたびに、「safariがMyAppを開きたい」という警告ダイアログが常に表示されます。

ここに何が欠けていますか?事前にあなたの助けに感謝します。

8
Vignesh Kumar

これは既知の動作です。

facebook://feedsをタップして開いた場合、Safariはそのためのfacebookスキームをブラックリストに登録しませんSafariタブ。そのタブでfacebook://profilefacebook://feedsfacebook://settingsなどを開くことができます。

ただし、[キャンセル]をクリックすると、そのスキームでそのタブのみのURLを使用できなくなります。つまり、 facebook://profileを開くことができます。これは、そのタブでブラックリストに登録されているためです。

あなたは何をするべきか?

新しいタブを開いて、もう一度試してください。そのタブのブラックリストに登録されなくなります。

ただし、Apple=がユーザーに次のようなオプションを要求した場合は、はるかに優れていたはずです。

一度拒否します。常に拒否します。常に許可する

しかし、彼らがそうするなら、ユーザーがホスト/スキームごとに動作をカスタマイズするための代替方法を提供する必要があると思います。明らかにAppleはそれを許可したくない。

3
Honey