ioswatchkitwatchconnectivityapple-watch-complication

WCSession "isComplicationEnabled" always returns false in iOS 15.4


Since I've updated my test device (iPhone 12 mini) to the latest iOS version 15.4, the complications of my companion app on the watch (watchOS 8.5) do not receive any updates sent by the iOS app.

To reproduce the issue you need:

This issues only occurs since the update to iOS 15.4. Previous versions did work well.

Here is my code to transfer the updated content for the complications...

if ([self.connectivityHandler.validSession isComplicationEnabled] &&
    self.connectivityHandler.validSession.remainingComplicationUserInfoTransfers > 0) {
    
    [self.connectivityHandler transferCurrentComplicationUserInfo:[self applicationContext]];
}

The connectivityHandler is a singleton object which handles the data transfer and holds the WCSession object (validSession). It implements the transferCurrentComplicationUserInfo method to transfer the updated content for the complication.

Since iOS 15.4, the if clause above is always false due to the isComplicationEnabled check. Before it worked correctly.

I've already tried:

Anyone out there with the same issue and probably a solution?

Thank's for your support!


Solution

  • After first tests, Apple fixed it in iOS 15.5 and watchOS 8.6.