10.3に更新した後、openURL:options:completionHandler:メソッドを使用してアプリの[通話]ボタンを押した後、アプリが電話番号を自動的にダイヤルしなくなりました。
代わりに、ユーザーの意図を確認するために毎回プロンプトが表示されます。
Appleドキュメントに従って:
電話URLスキームは、iOSデバイスで電話アプリを起動し、指定された電話番号のダイヤルを開始するために使用されます。ユーザーがウェブページの電話リンクをタップすると、iOSはユーザーが本当に電話番号をダイヤルするかどうかを尋ねるアラートを表示し、ユーザーが受け入れる場合はダイヤルを開始します。ユーザーがネイティブアプリでtelスキームを使用してURLを開くと、iOSはアラートを表示せず、ユーザーにそれ以上プロンプトを表示せずにダイヤルを開始します。ただし、ネイティブアプリは独自のアラートを表示するように構成できます。
これによると、プロンプトはWebページでは表示されますが、ネイティブiOSアプリでは表示されません。
これは10.3のバグですか?または、知らないinfo.plistに含める必要がある新しい関数や新しいプロパティはありますか?
ありがとう。
これは、10.3リリースノートに既知の問題として記載されています。
https://developer.Apple.com/library/content/releasenotes/General/RN-iOSSDK-10.3/
openURL
サードパーティアプリケーションがtel://、facetime://、またはfacetime-audio://のURLでopenURLを呼び出すと、iOSはプロンプトを表示し、ダイヤルする前にユーザーの確認を要求します。
10.3アップデートの セキュリティコンテンツ にもリストされているので、これは今後も続く新機能であると想定しています。
プロンプトなしで通話を許可する問題がiOSに存在しました。この問題は、ユーザーに通話の開始を確認するように促すことで解決されました。
Apple開発者がURLスキームに対してこのアラートを再アクティブ化したのは初めてですか?他のいくつかの以前のアップデートでも、この種のアクティブ化を実行し、次のOSでロールバックしたことを覚えています更新。
10.3.1の場合、米国では不正にダイヤルされた911コールが多かったというニュースを読みました。 https://9to5mac.com/2017/03/06/911-ios-exploit/
私の意見では、アラートの制限は間違った911ダイヤルを停止するために組み込まれています。
Appleは、この種の任意の変更をAPIやスキームに頻繁に適用することはできず、ユーザーのエクスペリエンスに大きな影響を与えると確信しています。
店にスピードダイヤルアプリを過去8年間置いています。 https://iTunes.Apple.com/us/app/speed-dial/id306569903?ls=1&mt=8# 過去数週間で、多くのユーザーがこの新しい制限に関する不満を訴えていますスピードダイヤルをさらにタッチします。
現時点では、次のアップデートでAppleがこの既知の問題を修正するまで待機する必要があります。これは、URLスキームに依存し、アラートスキームに依存しない100の生産性アプリがあるためです。