Как определить разные подключенные часы в iOS

Из watchOS >= 2.2, iOS >= 9.3 Устройство iOS может подключаться к нескольким часовым устройствам через sessionDidDeactivate:, sessionDidBecomeInactive:.

Однако в этих вызовах делегатов нет идентификации.

Есть ли какой-нибудь системный способ идентифицировать разные подключенные часы.

Должен ли я манипулировать им вручную? Например, проверьте, имеют ли недавно подключенные часы идентификатор, если нет, дайте им новый идентификатор. После получения id часам также нужно его где-то сохранить. NSUserDefaults кажется хорошим местом в этой ситуации.


person transang    schedule 14.02.2017    source источник


Ответы (1)


Из документации WCSession Apple рекомендует хранить данные о часах в watchDirectoryURL местоположении и передавать эта информация с подключенным приложением через WCSession

Ваше приложение iOS может использовать свойство watchDirectoryURL для хранения определенных данных. только к одному экземпляру вашего приложения для часов, работающему на определенных Apple Watch. В большинстве случаев данные, которые вы отображаете в каждом экземпляре приложения Watch, одинаковы. Однако вы можете использовать этот каталог для хранения данных конфигурации, настроек или других файлов данных, которые необходимы вашему приложению iOS для правильного взаимодействия с вашим приложением Watch. Если вы это сделаете, используйте процесс активации и деактивации, чтобы обновить приложение iOS.

Вы можете сохранить UUID или аналогичный уникальный идентификатор в этом месте, чтобы различать часы.

person Paulw11    schedule 14.02.2017