Search code examples
iosobjective-capple-watch

Apple Watch Unpaired ActivateSession slow


In the AppDelegate in the didFinishLaunchingWithOptions I connect the watch to the App.

if ([WCSession isSupported]) {
   WCSession *session = [WCSession defaultSession];
   session.delegate = self;
   [session activateSession];
}

This is working fine for most cases. However when users did have a watch paired and they unpair the watch, we are experiencing delays in the [session activateSession]. It will take approxiately 7-8 seconds for this call to be executed. This is causing a huge delay in the App startup.

I suspect that this is a Apple bug, I do not expecct Apple to make a fix for this on short notice.

As I workaround I'm looking I want to check if a watch is paired, before the activateSession. However 'session' does not contain valid data. How can I check if a watch is paired, before the 'session activateSession' statement?

This occurs both in iOS9.3 and iOS10.0.1, I have not tested other versions.


Solution

  • That certainly does sound like a bug. As a workaround you could either: