Я видел пару вопросов по этому вопросу и пробовал все предоставленные ответы, и это все еще не работает для меня.Расширение WatchKit не видит обновлений NSUserDefaults для группы приложений
Я пытаюсь поделиться несколькими небольшими фрагментами данных (строк и BOOL) между моим iPhone App и его расширением WatchKit. (Если это имеет значение, информация считывается GlanceController приложения WK)
Через сайт разработчика я создал группу приложений (group.com.theYawns.Sorcerers-Apprentice). Если я посмотрю на «Идентификаторы приложений», у меня появляется два идентичных идентификатора для моего приложения (com.theYawns.Sorcerers-Apprentice) плюс один для расширения (com.theYawns.Sorcerers-Apprentice.watchkitextension). У каждого из них включена опция «Группа приложений» (как для разработки, так и для распространения), и группа приложений выбирается, если я изменяю идентификатор приложения.
Я включил «Группы приложений» в возможностях как для приложения, так и для расширения. Меня беспокоит то, что периодически - несколько раз в день, но не каждая сборка. Если я войду и посмотрю вкладку «Возможности», у меня есть красный восклицательный знак с надписью «Добавить права на группы приложений» в ваш файл прав. Если я посмотрю файл с правами, это право, и если я нажму «Исправить проблему», красный восклицательный знак изменится на галочку. Но тот факт, что это нужно делать несколько раз в день, касается меня, что что-то не так.
Я обновил свои профили подготовки в настройках XCode много раз, и пока я не вижу значок групп приложений под правами, если я нахожусь, я вижу группы приложений во всплывающей подсказке.
В обоих мое приложение и расширение, я получаю ссылку на значения по умолчанию пользователя с помощью
NSUserDefaults *sharedAppDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.theYawns.Sorcerers-Apprentice"];
Я также попытался добавить [sharedAppDefaults synchonize]
после каждой записи и перед моим WatchKit пытается прочитать, только в случае, если вещи не смывались. (Не имеет значения).
Мой идентификатор пакета расширения WatchKit отличается от моего идентификатора пакета iPhone, который является одним из ответов, которые я видел на другой теме.
Я также добавил NSTimer, чтобы обновить взгляд каждые 10 секунд, поэтому, если возникла проблема с синхронизацией изменений, я бы ожидал, что она решит себя после цикла обновления или два, но это не ,
Действительно прервано ... кажется, что у других проблема была решена ответами из других тем, но никто не работал для меня.
Другие темы Я поискал включают:
Why won't app groups work inside my WatchKit extension?
WatchKit NSUserDefaults and NSKeyedUnarchiver issue