How much time is AppIntent.perform() method given?

Prior to iOS 16, Intent Handlers in SiriKit only had 10 seconds to complete the request. However, i have not come across any mention of a time limit in the documentation for the new AppIntents framework.

My own testing revealed this limit to be somewhere between 20-25 seconds.

Does anyone know what the official time limit is to complete a request with the new AppIntents framework?

Replies

I did some testing on iOS 16.1. It timed out every 30 seconds.

  • Thanks @mantasoff. i saw it go as long as 30 seconds on a couple of occasions, but 20-25 seconds was more consistent.

Add a Comment

In addition to my testing that 20~30 seconds are given to perform(), I've found an apple official comment about how much perform()method is given in Responding to the Action button on Apple Watch Ultra

Then, implement your intent’s perform() method. The system calls this method when anything triggers the intent. In your implementation, you have 30 seconds to start a workout session and return a successful value. If you don’t start a workout session in that time, the system displays an error message, but the app remains in the foreground. People can start a workout session directly from the app, but without a session, the app goes to the background the next time they drop their wrist

In the documentation, Apple says workout intent's perform() has 30 seconds.