Вот что я делаю:
Добавляю одну и ту же группу приложений в обе цели.
Сохраняю пару ключ-значение в общем контейнере из приложения iOS.
Пытаюсь получить доступ к одному и тому же ключу из приложения Watch.
Пример кода (Swift):
**
Код: Выделить всё
// iOS app
if let userDefaults = UserDefaults(suiteName: "group.com.example.myAppGroup") {
userDefaults.set("Hello Watch", forKey: "myKey")
userDefaults.synchronize()
}
// Watch app
if let userDefaults = UserDefaults(suiteName: "group.com.example.myAppGroup") {
if let value = userDefaults.string(forKey: "myKey") {
print("Value from iOS app: \(value)")
} else {
print("Value not found")
}
}
Проблема:
Оба приложения находятся в одной группе приложений, и путь кажется правильным.
Я могу успешно сохранить ключ в приложении iOS.
При доступе к нему из приложения Watch он всегда возвращает ноль.
Что я пробовал:
Проверенные идентификаторы групп приложений абсолютно одинаковы в обеих целях.
Проверены пути к контейнерам, они совпадают.
Перезапущены устройства и переустановлены приложения.
Вопрос:
Почему приложение Watch не может получить доступ к данным, сохраненным приложением iOS в общем контейнере? Я что-то упустил в конфигурации или есть другой способ обмена данными между приложениями iOS и WatchKit?
Подробнее здесь: https://stackoverflow.com/questions/798 ... -app-setup
Мобильная версия