IntentTimelineProvider does not appear to be used

I am getting the following error message after making updates for intents:

CharacterDetailExtension[44128:2330561] [widget]
No intent in timeline(for:with:completion:)

I placed breakpoints in both functions that are part of the IntentTimelineProvider protocol: snapshot and timeline.

From what I can tell, neither of these functions is getting executed. The breakpoints are never touched. And the icon on my screen is white.

I am using the simulator as shown in the video, and so that may be the issue. I'll put the beta ios14 on a test device later. But am I missing something?

13 Replies

Hi, sorry about that. This is a known problem. You can submit a Feedback so you can easily get updated when this issue is resolved.

To workaround: Test on a real device or in Xcode Previews.
I had this problem on the simulator and on device as well using the current normal version of iOS 14 and Xcode 12.

I was able to fix it on the simulator by doing an erase all content and settings and reinstalling. It seems like maybe because there were existing timeline entries that were tied to a different Intent as I was working on this, the widget refused to keep going. Deleting and reinstalling cleared those out and all is well now.

That's just my theory though, either way it worked for me.
I had the Intents file in a shared framework that was exposing the generated intent classes publicly to the app, intent handler, and widgets extension. I moved the intents file to the intents handler, and added it to the app and widget targets with private intents and that seems to have solved it for me. Thanks for the tip!
Having the same issue with Xcode 12.0
Removing the widget and running again helped solve this issue for me.
Thanks @thinktapwork. Your comment helped me find what was going on for us.

The Intent Definition file needs to be added to both your Intents & Widget targets, but then you end up with duplicate generated classes.

The only combination that seemed to work was to change the "Target Membership" code gen settings to "Private Intent Classes" for all included targets.
Just at least partially solved this. Hadn't been running our widget on the simulator because it deals with data from HealthKit so we had only been running on device to test with real data. When we ran in the simulator it revealed the source of our issue. We had added the ConfigurationIntent to our shared library for updating at appropriate times. That resulted in duplicate classes which seemed to be causing the issue.
Still happening for us on Xcode 12 Beta 4 on device.
This is happening to me on Xcode 12 beta 4 with iOS 14 beta 4, but only on a device.
No intent in timeline(for:with:completion:)

Same here, it's still happening with Xcode 12 Beta 3, for both simulator and deice.
Is this still happening for you in Xcode 12 Beta 3? I can't seem to get intents working at all in my widgets and keep getting this same error [8363:497708] [widget] No intent in timeline(for:with:completion:) for both the sim and real devices.
I have the same error message when testing on a real iPhone also.

2020-07-05 12:40:08.252778-0400 EmojiRangerWidgetExtension[3674:555069] [widget] No intent in timeline(for:with:completion:)

Thanks. I got it working with the native device. The Previews were no joy.