У меня странное поведение, происходящее со мной при использовании подключения к часам.
Я запускаю сеанс из didFinishLaunchingWithOptions
.
в AppDelegate. Пользователь проходит процесс входа в систему, и когда пользователь попадает на домашний экран, если пользователь открывает часы, кажется, что с сеансом что-то идет не так. В этот момент я получаю этот журнал:
[WC] -[WCSession onqueue_handleDictionaryMessageRequest:withPairingID:]_block_invoke delegate MCEWatchSessionDelegate does not implement delegate method
[WC] -[WCSession _onqueue_sendResponseError:identifier:dictionaryMessage:] identifier: [identifier] with WCErrorCodeDeliveryFailed
И в этот момент, если я распечатаю ошибку на часах, если получим:
Error Domain=WCErrorDomain Code=7014 "Payload could not be delivered." UserInfo={NSLocalizedDescription=Payload could not be delivered.}
и в процессе входа в систему ничего не используется, используя сеанс или все, что связано с WatchConnectivity.
Если пользователь открывает приложение часов на экране входа в систему, все работает, как ожидалось.
Если я закрою и снова открою приложение (сеанс get снова активируется), оно работает нормально и проблема исчезла.
Если я снова активирую сеанс из приложения iPhone после того, как часы попытались и не смогли отправить сообщение, оно вернется в нормальное состояние.
Если я отправлю очередь с задержка, снова активирующая сеанс в приложении Iphone, после которого отображается домашний экран, он также работает нормально.
Кажется, проблема возникает только при первом входе пользователя в приложение. после установки войдите в систему и перейдите на главный экран.