watchOS 9: ClockKit-based complications occasionally failed to display

Hello!

Two of my watch apps (HiCoffee and HiWater) occasionally have issues with complications not displaying properly on watchOS 9. I did NOT use the new WidgetKit to implement the complications, all the related code still uses the same previous ClockKit + SwiftUI.

I have observed several different types of wrong behaviors.

  1. One specific complication cannot be displayed (rendered?), while others do work (from the same app). This indicates that my watch app is working properly.

  2. All complications on the face cannot be displayed. But the app logs indicates it's running properly. In addition, when you long press the face to edit complications, yet it can be displayed normally.

  3. Log shows CLKComplicationServer.sharedInstance().activeComplications always returns 0 no matter how many complications are added to the face. Also, the ComplicationController is NOT called by system. I'm not using WatchKit.

This part of the code in my app has been working properly for a long time and has not been changed. But after the release of watchOS 9, I received a lot of feedback from users with this problem. So I think the problem is in watchOS 9.

I haven't found a way to reproduce the problem yet. Any suggestions please?

I saw you filed Feeback about this—thank you! There might be a timing issue going on, but to know for sure we'd need a sysdiagnose. Can you please follow the instructions here to install the logging profile, reproduce the issue, and grab a sysdiagnose? https://download.developer.apple.com/iOS/watchOS_Logs/sysdiagnose_Logging_Instructions.pdf You can attach it to your existing Feedback. Thanks so much!

Maybe it's a different issue but form me migration of ClockKit complications to WidgetKit ones doesn't work. I can see that when I install new version of the app with WidgetKit complications none of the methods from ComplicationController are called, including

func getWidgetConfiguration(from complicationDescriptor: CLKComplicationDescriptor,
               completionHandler: @escaping (CLKComplicationWidgetMigrationConfiguration?) -> Void)

which is necessary for migration.

Facing same issue. Are there any solution to fix the issue?

@mehulFunnmedia I have not found a reliable solution for now. The problem is too difficult to reproduce. 😫

Any progress on resolve for the reported issue?

I believe this is the same issue as detailed here: https://developer.apple.com/forums/thread/729599?answerId=753211022#753211022

I've given an answer to me best knowledge there. Hope it helps.

@simonfromhelix Thank you very much! I did indeed migrate to a Single Target Watch App in the update to watchOS 9 last year. The changes to the bundle Identifier and the issue with system caches seem to explain this issue well.

Thanks again for providing this helpful information. This community is really great!

watchOS 9: ClockKit-based complications occasionally failed to display
 
 
Q