36386


URLスキームを以下のように記述しています。

[code]

    UIApplication.shared.open(URL(string: "tel:0123-456-7980")!)
    
[/code]

調べた結果、urlを`"tel:"`とすると確認ダイアログなし、`"telprompt:"`とすると確認ダイアログありということが（様々なHPに）書かれていたので、確認なしとしたいので前者の"tel:"で始まる文字列を使用しています。

しかしどちらを使用しても、確認ダイアログが出てしまいます。

上記の他にどこか設定変更か、コードの追加記述が必要でしょうか？  
セキュリティーの観点から、確認ダイアログが出るように仕様変更されたのでしょうか？

教えていただけないでしょうか。よろしくお願いいたします。

XCode 8.3.2  
iOS 10.3.2


CC BY-SA 3.0
2017-07-15T12:26:00.440
36384
2017-07-15T13:22:00.210
10845
question
swift ios xcode
iOSでアプリから確認ダイアログなしで電話をかけたい


iOS 10.3からtelを使っても確認ダイアログが出てきます。

セキュリティーノート

<https://support.apple.com/en-gb/HT207617>

> Phone  
>  Available for: iPhone 5 and later, iPad 4th generation and later, iPod
> touch 6th generation and later  
>  Impact: A third party app can initiate a phone call without user
> interaction  
>  Description: An issue existed in iOS allowing for calls without prompting.
> This issue was addressed by prompting a user to confirm call initiation.  
>  CVE-2017-2484

リリースノート

<https://developer.apple.com/library/content/releasenotes/General/RN-
iOSSDK-10.3/>

> When a third party application invokes openURL: on a tel://, facetime://, or
> facetime-audio:// URL, iOS displays a prompt and requires user confirmation
> before dialing.

ダイアログなしなのはセキュリティーの問題だと判断され、直されたので、iOS10.3からはおそらくできないと思います。


CC BY-SA 3.0
2017-07-15T13:22:00.210
36386
2017-07-15T13:22:00.210
4336
36384
answer