I added SiriKit to a version of my, but then decided to remove it. The problem is that Siri still offers to use my app when I ask it to do the function that app used to do. I have deleted and re-installed the app (with no Siri support), but it still wants to use my app when I speak the keywords that another version of the app once supported. I restarted the iPhone, but it still remember. I also disabled Siri in the settings for this app; still remembers.
Is this an iOS 11 bug?
Found the solution:
You need to go back to the version of the app that supported SiriKit and in the info.plist for the Intent extension and in the IntentsSupported remove the intent that your app previously supported and replace it with some other intent.
Seems like an iOS bug. Disabling Siri for the app in the Settings should have disabled Siri from using the app for the intent.
Related
Is there any trigger to enable the 'Supports Siri' item in the app store?
My app supports Siri and Siri shortcut works well. I have added Siri to my capabilities. I have my intents working fine, but on the AppStore page when checking my app it doesn't show that it "Supports Siri".
Any clue?
I've set up Siri on my iOS app- I am able to call intents using INAddTasksIntent and it works great.
When I say "Hey Siri, add task clean my room to JoshApp" it works great.
However, Siri does not work on my Apple watch, using the same commands. When I say "Hey Siri, add task clean my room to JoshApp", it will say it cannot find the app or to look on the app store.
Do I need to create a separate Apple watch app and handle the Siri intents there? Based on my research (which incidentally, there is very little documentation around it), it doesn't seem like it is possible unless you set up a watchOS app.
Intents are delivered to individual devices as part of app bundles:
Overview
Interactions with SiriKit occur through your Intents app extension, which you deliver inside your iOS or watchOS app bundle.
[...]
Enable the Siri Capability
Enabling the Siri capability adds a set of entitlements to your app. The App Store requires the presence of these entitlements for any iOS app or watchOS app containing an Intents extension.
[...]
Source: Creating an Intents App Extension
Without the associated app bundle being installed on the watchOS device, it's (loosely, I'll admit) implied that you won't be able to add an Intents extension to meet your requirements.
I am integrating SiriKit into my iOS 13 app.
For that I am using Apple's Sample app - Soup Chef for understanding it.
In my Custom Intent, I have selected Ask Each Time in Shortcuts App for quantity value.
But, When I run the shortcut from Hey, Siri!, it redirect me to Shortcuts App, instead of Siri asking me about quantity.
I have Siri Dialog enabled already.
How can I force Siri to ask me the question, instead of getting redirected to Shortcuts App?
This seems to be an issue in iOS13.0. Try running this on a device running iOS13.1, and it should work.
SiriKit stopped using Siri Dialog prompts (iOS13.1)
https://forums.developer.apple.com/thread/122235
Apple is in the process of integrating the new version of Siri. So it deactivates some features.
I’m trying to get a voice shortcut for a custom Siri Intent working as part of an Apple Watch app, but I’m not sure whether that’s possible. Has anyone had success with this or know if it’s supported?
There isn't much code to share in this case, since most of the code is auto-generated by Xcode, but here’s a quick overview of how I have everything set up.
I created a custom Intent with a .intentdefiniton file and separate Intents Extension targets for my iOS app and watchOS app to handle the Intent.
I set up and donate the shortcuts at the appropriate time. I included an INUIAddVoiceShortcutButton in my app so a user can easily add or edit a phrase for the shortcut.
Everything works fine on an iPhone: the shortcut shows up at relevant times throughout iOS, and the Intents Extension in my iOS app handles the shortcut when I say the invocation phrase to Siri.
Since 20% of my app’s users use the Apple Watch app, I want to provide a congruent experience on watchOS. The donated shortcut shows up on the Siri watch face, as expected. I trigger the shortcut from the Siri watch face, and is handled by the Intents Extension that's part of my watchOS app.
When I say the intent’s invocation phrase to my Apple Watch (Series 3 GPS-only), however, it doesn’t work. Siri says:
Checking with the app...
Then a few seconds later:
I do not recognize that command.
I’ve tried this with a separate Intents Extension for my watchOS app, and without. I get the same results in both situations. It works on the simulator, but not on a real device.
I’ve also made sure I have my Watch Extension and Watch App selected under Target Membership for the .intentdefinition file.
I’ve also tried going into Settings > Developer and enabling Display Recent Shortcuts then tapping Force Sync Shortcuts to Watch, but that doesn’t change the behavior.
Are voice shortcuts for these custom intents even supported on Apple Watch? I haven’t been able to tell one way or another with Apple’s documentation. The SoupChef sample project is set up with an Intents Extension for the watchOS app, which makes me think it should be supported. And, since it works on the simulator, that makes me think it should be supported.
However, this page doesn’t list custom intents as being supported on watchOS, so that makes me think they may not be supported: https://developer.apple.com/design/human-interface-guidelines/watchos/user-interaction/siri/
If anyone can help me figure out whether this is supported I’d really appreciate it. I’m not sure if I’m doing something wrong or if this just isn’t supported.
The problem was on my Apple Watch.
I was able to get it working by erasing the watch (Settings > General > Reset > Erase All Content and Settings) then restoring it from a backup.
I want to make an app that won't be released on the App Store. I want this app to open siri through private API's, basically inject a home button press and hold into the events queue. I have tried using GSEvent(GSSendEvent - Inject Touch Event iOS), but it no longer works(it silently fails) after iOS 7. I believe it is possible through SBUIController but I can't figure how to use SBUIController in iOS 8. To be clear, I want to do this on a non-jailbroken phone.
How can I go about doing this in iOS 8?
Thanks
You should check out the runtime headers of all the private/public apis here.
I found a method hidden in accessibility, which could possibly work in your case. Have a look at it here: http://git.io/frK6Sw . The method is named -(void)openSiri, which suggest that it might open Siri, I haven't tried though.