Watchkit to watchkit communication # Расширение Watchkit
Я должен отправить данные из моего сторожевого комплекта в другой сторожевой комплект. Является ли это возможным? Если да, то каковы пути достижения этого?
Я знаю, как отправить данные в родительское приложение iPhone и вызвать метод через [WKInterfaceController openParentApplication:dicData reply:^(NSDictionary *replyInfo, NSError *error)
& handleWatchKitExtensionRequest
-Заранее спасибо.
6 ответов
Служба безопасности говорит "нет", чтобы наблюдать за коммуникациями.
Попробуйте отправить данные родителю. Пусть родитель отправит данные второму родителю второго наблюдения, а затем отправит данные второму наблюдению.
watch1 -> parent1 -> parent2 -> watch2
Большой клудж, но единственный способ увидеть это можно сделать.
Нет, невозможно напрямую связываться с двумя часами, так как в режиме реального времени соединение выполняется только в приложении для просмотра часов на iPhone. Вы не можете использовать группы приложений для связи между двумя часами. Единственные альтернативы, которые могут быть реализованы
- Используйте ядро Bluetooth для связи, как указано в ответе выше
watch1 -> parent1 -> parent2 -> watch2
Этот метод имеет ограничение, экран iPhone должен быть включен на все время для общения.
- Используйте веб-сервис и обновляйте его через определенный промежуток времени, в зависимости от ваших требований только в приложении для часов.
Я думаю, что с помощью App Group вы можете сделать это, иначе нет никакого способа
Вы имеете в виду на одном устройстве или разных устройствах?
Если разные устройства, вы можете использовать Core Bluetooth. Если на том же устройстве вы можете использовать уведомления Дарвина, но нет гарантии, что любое другое расширение WatchKit будет активным одновременно.
Для последнего используйте CFNotificationCenterAddObserver()
а также CFNotificationCenterPostNotification()
с CFNotificationCenterGetDarwinNotifyCenter()
,
Ознакомьтесь с разделом "Поддержка связи с несколькими часами Apple" на https://developer.apple.com/reference/watchconnectivity/wcsession а затем вам нужно настроить группы приложений. Возможно, вы не сможете отправить информацию друг другу, но вы наверняка сможете сохранить ее в группе приложений ваших часов, а затем получить доступ к ней на других часах. И, возможно, используя nsnotificationcenter или что-то подобное, вы можете сказать другим часам проверить наличие изменений.