iOS Widget can't connect to the host app and shows Skeleton.

Some of our users keep reporting that occasionally some widgets (which initially were working perfectly) are now broken and show only skeletons. Note that the app has multiple widgets, and this happens only to some of them (that is when some widgets get broken, some other widgets are still working normally). While developing the app, I came across this symptom as well, and when I read the device console, I found the following errors in the console (which the system was repeatedly reporting to the console):

Unable to get connection interface: Error Domain=LNConnectionErrorDomain Code=1100 "Unable to locate com.example.app.MyAppntents for the com.apple.intents-service extension point" UserInfo={NSLocalizedDescription=Unable to locate com.example.app.MyAppIntents for the com.apple.intents-service extension point}

The affected widgets use the 'UserDefaults with groups' to read the data that is stored by the host app. And I think that sometimes the widget fails (or even crashes) while reading the data from the UserDefaults and it ends up showing the skeleton.

The only remedy I found was

  1. Uninstall the app
  2. Reboot the device
  3. Install the app again.

After this, the widget starts to work again.. So, what can be the reason behind this? Is this an iOS bug or what and how to fight it?

Hi Arturdevcoinstats.

In most cases when something like this occurs it's an app bug. Try to check if you allowed an app to background refresh. Check also if the app is allowed to use cellular data.

Our engineering teams need to investigate this issue, as resolution may involve changes to Apple's software. I'd greatly appreciate it if you could open a bug report, include a sysdiagnose and sample project, and post the FB number here once you do. Bug Reporting: How and Why? has tips on creating your bug report.

iOS Widget can't connect to the host app and shows Skeleton.
 
 
Q