Initiating a phone call from a widget requires confirmation every time in iOS 11

Originator:greg
Number:rdar://32988579 Date Originated:06/26/2017
Status:Open Resolved:
Product:iOS Product Version:11 beta 2
Classification:Security Reproducible:Always
 
Starting in iOS 11 if you initiate a phone call using a tel: URL from within a today widget, you get a pop-up dialog confirmation that says "Call (xxx) xxx-xxxx?" every time. 

Starting with iOS 10.3, a security update added this same pop-up dialog when opening tel: URLs within apps. So it appears that this same "security" workaround was added to widgets in iOS 11 as well.

The problem with this incessant pop-up dialog is that people want to initiate phone calls immediately, not having to confirm them every time. If you are using an app that provides "speed dial" capabilities, it's not very speedy or convenient to have to hit the confirm button every time you want to make a phone call. There is no way for the user to disable these pop-up dialog boxes or whitelist certain apps to allow them to make phone calls without these pop-up dialogs every single time. This new security restriction makes speed dial apps essentially useless because of the friction that is added.

However, note that the Phone Favorites widget that comes pre-installed on all iOS devices does NOT have this same restriction and it allows the user to initiate phone calls immediately without this pop-up dialog confirmation. It seems completely unfair for a built-in system widget to not be held to the same security restrictions as third-party apps.

I understand that the idea is that you don't want developers tricking users into making phone calls they didn't intend to make. However, with "speed dial" apps, the users themselves are setting up these speed dial widgets and really do want to make these phone calls without having to confirm them every time.

One possible solution to this issue is similar to the one that is used to make sure that the user doesn't launch apps that they don't intend to launch. Starting in iOS 10 for widgets (iOS 9 for apps), when launching an app using a custom URL scheme the first time, a similar dialog confirmation pops up that says "Open in 'App Name'?" However, this dialog confirmation only happens the first time a user tries to launch that app using that custom URL scheme from the app they are using. This new phone call confirmation dialog pops up every time and there is no way for a user to stop it from popping up every time. If initiating phone calls was similar to the pop-up dialogs when launching third party apps using URL schemes where it only popped up the first time, and every time after it was assumed that the user had opted in, that would be an acceptable, yet still annoying, compromise. Note that this one-time pop-up confirmation causes several other bugs in the system that have yet to be addressed (see radars 32631134 and 28329408 for examples), so hopefully those would be resolved if this compromise was put in place.

Steps to Reproduce:
1. Install attached sample project on an iPhone running iOS 11. 
2. Install widget called Widget from sample project.
3. Tap the "Make Phone Call" button in the widget.
4. See that a dialog pops up that says "Call +1 (408) 555-1212?".
5. Tap "Call" in the confirmation dialog and then hang up the phone.
6. Tap the "Make Phone Call" button in the widget again. See that the confirmation dialog pops-up again.
7. Add a phone number to the Favorites section of the built-in Phone app.
8. Install the built-in Phone Favorites widget.
9. Tap on the icon to initiate a phone call using the Phone Favorites widget. Note that no confirmation dialog pops up.

Expected Results:
I would expect the same behavior in a third party widget that you get in a built-in system widget when initiating phone calls. Or I would at least expect the same behavior you get when launching apps using custom URL schemes where the user confirms once and never has to confirm again to launch the same URL scheme.

Observed Results:
In a third party widget the user is required to confirm their phone call every time. If they use the built-in Phone Favorites widget, they don't have to confirm phone calls at all.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!