2015-05-13 2 views
2

Выполнение реального базового теста при настройке/получении данных с использованием NSUserDefaults. Мое приложение для iPhone работает и устанавливает данные просто отлично, но на часах он приближается к нулю.WatchKit NSUserDefaults: null

У меня есть группа приложений, включенная для обоих и подтвердила, что они идентичны с использованием одной и той же группы. Файлы прав для каждого из них бит для бит то же самое.

В ViewController.m

defaults = [[NSUserDefaults alloc] initWithSuiteName:@"com.defaultmethod.share"]; 

[defaults setObject:playerName forKey:@"playerName"]; 
[defaults synchronize]; 

В InterfaceController.m

- (void)awakeWithContext:(id)context { 
    [super awakeWithContext:context]; 

    // Configure interface objects here. 
    defaults = [[NSUserDefaults alloc] initWithSuiteName:@"com.defaultmethod.share"]; 
    [defaults synchronize]; 
} 

- (void)willActivate { 
    // This method is called when watch view controller is about to be visible to user 
    [super willActivate]; 

    NSLog(@"playerName: %@", [defaults objectForKey:@"playerName"]); 
} 

И все, что я вернусь есть:

Playername: (нуль)

Я вы должны упустить что-то настолько очевидное. Когда я NSLog его на стороне iphone, он выходит очень хорошо, поэтому я знаю, что он экономит правильно.

ответ

1

Вам необходимо убедиться, что следующие настройки находятся в правильном месте.

  • Проверьте файл Entitlement.plist для расширения приложений и часы комплект , он должен быть иметь одинаковый идентификатор приложения группы.
  • Убедитесь, что вы выбрали правильную команду разработчиков в разделе информации каждой цели.
  • Вы правильные профили мобильных провизий установлены

Вы можете проверить эти настройки в соответствии с возможностями раздела целевых приложений и watchkit расширения.

+1

Проверьте. Проверьте. Проверьте. Это странная часть. Раздалось разочарование, поэтому я пошел на портал Dev, вытер свои группы приложений и все мои старые тестовые проекты и начал с нуля. Работала, как шарм, во второй раз ... О, хорошо, может быть, я сделаю это до Гремлинов. :-) – Drew