Streaming is available in most browsers,
and in the Developer app.
-
Decipher and deal with common Siri errors
“Sorry, there was a problem with the app..." Don't let Siri errors get you down: Learn how to debug your Siri intents and create great integrations people can use through voice or the Shortcuts app. We'll look at common intent errors, how to test for them, and the path to a seamless Siri experience for your app.
Resources
Related Videos
WWDC20
- Create quick interactions with Shortcuts on watchOS
- Design for intelligence: Apps, evolved
- Design for intelligence: Discover new opportunities
- Design for intelligence: Meet people where they are
- Design high quality Siri media interactions
- Empower your intents
- Evaluate and optimize voice interaction for your app
- Expand your SiriKit Media Intents to more platforms
- Feature your actions in the Shortcuts app
- Integrate your app with Wind Down
- What's new in SiriKit and Shortcuts
-
Download
Hello and welcome to WWDC.
My name is Roman, and I'm a Shortcuts engineer at Apple. Today, I'm going to share some tips on how to efficiently debug your Siri and Shortcuts support. Let's start by taking a look at how you can automate Siri queries using the scheme editor in Xcode.
You can provide the Siri intent query from the get-go, so you don't actually have to trigger Siri and speak to it when you debug your extension.
When you're attaching to your Intents extension, you have an option to choose between Siri and the Shortcuts app as the host process. Sometimes you might wonder why you don't hit breakpoints in your Intents UI extension while you're being attached to an Intents extension in Xcode. This is because both of these extensions are separate processes. You can use the Xcode debug menu to attach to multiple processes at the same time. So, you implemented SiriKit support in your app but you're getting, "Sorry there was a problem with the app" when you execute your intent in Siri. Now what can you do about this? First, make sure that you call your completion handlers of your intent handling protocol methods before the 10-second time-out.
You also need to make sure that you call the completion handlers only once, otherwise an exception will be thrown in your process.
You should also verify that your process is not crashing in the middle of the request. Open Devices and Simulators in Xcode and click the "View Device Logs" button and scan it for crashes in your processes.
Using os_log statements and the Console.app can help you understand how multiple processes work together.
When composing your os_log statements you can prefix them with an emoji or some other unique keyword and then use the Console.app to filter by your unique keyword to get an accurate timeline of events in all processes involved. Thanks for watching.
-
-
Looking for something specific? Enter a topic above and jump straight to the good stuff.
An error occurred when submitting your query. Please check your Internet connection and try again.