INPreferences.siriAuthorizationStatus cannot be modified after it is initially set
Originator: | JAltreuter | ||
Number: | rdar://45024092 | Date Originated: | 10/4/2018 |
Status: | Open | Resolved: | |
Product: | iOS + SDK | SiriKit | Product Version: | iOS 12 |
Classification: | Bug | Reproducible: | Always |
Summary: When an app is initially installed on a standard iPhone, the value of INPreferences.siriAuthorizationStatus is .notDetermined, as expected. When INPreferences.requestSiriAuthorization() is called, the user is prompted to grant or deny authorization, and siriAuthorizationStatus is set to .authorized or .denied accordingly. All subsequent calls to requestSiriAuthorization are ignored. All of this behavior is expected. The documentation for INPreferences.siriAuthorizationStatus states that the status can be changed in the Settings app, but in fact its value does not correspond to any setting in the Settings app. Therefore once the value is set based on the user's choice the first time requestSiriAuthorization() is called, it can never be changed. Also, Siri shortcuts can be created and used regardless of the current value of siriAuthorizationStatus. Steps to Reproduce: Scenario A: 1. Install your application on a device that it has never been installed on 2. Donate some intents using INInteraction.donate() 3. Go to Settings > Siri & Search > MyApp > Shortcuts 4. Create a shortcut Scenario B: 1. Install your application on a device that it has never been installed on 2. Donate some intents using INInteraction.donate() 3. Trigger a call to INPreferences.requestSiriAuthorization() 4. Deny the request 5. Go to Settings > MyApp > Siri & Search Expected Results: Scenario A: It should not be possible to create a shortcut Scenario B: Some setting should exist that's switched off. Switching it on and going back to MyApp should result in the value of INPreferences.siriAuthorizationStatus being .authorized Actual Results: Scenario A: Shortcuts can be created and used in Siri Scenario B: All settings shown are switched on. No configuration of the toggles will result in the value of INPreferences.siriAuthorizationStatus being .authorized Version/Build: iOS 12.0, Swift 4.2 Configuration: Seen on an iPhone X device and iPhone 8 simulator.
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!