Начиная с watchOS 2, приложение для часов больше не может получать доступ к данным в общей группе приложений, поскольку расширение приложения для часов теперь работает на часах, а не на iPhone.
Общая группа приложений не будет выполнять то, что вам нужно. Вам нужно будет использовать Watch Connectivity, чтобы выполнить то, что вы хотите.
Подход 1:
Поддерживайте две отдельные базы данных — одну на телефоне и одну на часах — и синхронизируйте две отдельные базы данных.
Это было бы полезно, если бы часам требовался доступ ко всем без исключения данным и они должны были бы работать независимо от телефона, если бы он был вне досягаемости.
transferUserInfo
хорошо подходит для этого подхода, чтобы синхронизировать новые, обновленные или удаленные планы погружений между телефоном и часами.
Вы также можете перенести всю базу данных между телефоном и часами, но обычно это менее эффективно, чем просто отправка изменений.
Подход 2:
Передавайте на часы только текущий контекст, чтобы пользователь мог взглянуть на часы и увидеть ту же информацию, что и телефон.
Для чего-то вроде вашего приложения для дайвинга, возможно, оно передает только план недавнего или предстоящего погружения, вместо того, чтобы показывать каждый план погружения на меньшем экране.
updateApplicationContext
хорошо подходит для этого подхода, чтобы передавать самую последнюю информацию, которая должна отображаться на часах.
person
Community
schedule
15.07.2016