В AppDelegate в файле didFinishLaunchingWithOptions я подключаю к приложению.Apple Watch Unpaired ActivateSession slow
if ([WCSession isSupported]) {
WCSession *session = [WCSession defaultSession];
session.delegate = self;
[session activateSession];
}
В большинстве случаев это нормально работает. Однако, когда у пользователей были часы в паре, и они снимают часы, у нас возникают задержки в [session activSession]. Для этого вызова потребуется 7-8 секунд. Это вызывает огромную задержку при запуске приложения.
Я подозреваю, что это ошибка Apple, я не могу сказать об этом Apple, чтобы исправить это по короткому уведомлению.
Как я обхожусь в пути Я ищу, чтобы проверить, если часы спарены, перед активацией. Однако «сеанс» не содержит достоверных данных. Как я могу проверить, спарен ли часы, перед операцией «session activateSession» ?
Это происходит как в iOS9.3, так и в iOS10.0.1, я не тестировал другие версии.
Это настоятельно рекомендуется выполнить активацию в AppDelegate, поэтому первое обходное решение невозможно. – Vincent
2-й обходной путь отлично работает. Просто включите сеанс метода: activationDidCompleteWithActivationState: ошибка: (без содержимого). Благодаря! – Vincent