Приложение для iPhone работает в симуляторе, но не на устройстве (NSUserDefaults)

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

- (void)loadView {
 self.title = @"Optionen";
 [super loadView];
}

- (void)viewDidLoad {    
 [super viewDidLoad];

 NSMutableArray *strArray = [NSMutableArray new];
 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

 if ([[prefs stringForKey:@"facebook"] length] > 0 ) {
  [strArray addObject: [prefs stringForKey:@"facebook"]];
 }
 else {
  [strArray addObject:@"YES"];
 } 


 if ([[prefs stringForKey:@"twitter"] length] > 0 ) {
  [strArray addObject: [prefs stringForKey:@"twitter"]];
 }
 else {
  [strArray addObject:@"YES"];
 }


 if ([[prefs stringForKey:@"pm"] length] > 0 ) {
  [strArray addObject: [prefs stringForKey:@"pm"]];
 }
 else {
  [strArray addObject:@"YES"];
 }

 [facebookSwitch setOn:[[strArray objectAtIndex:0] boolValue]];
 [twitterSwitch setOn:[[strArray objectAtIndex:1] boolValue]];
 [pmSwitch setOn:[[strArray objectAtIndex:2] boolValue]]; 

 [strArray release];
}

-(IBAction) change:(id) sender {
 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

 if (facebookSwitch.on) {
  [prefs setObject:@"YES" forKey:@"facebook"];  
 }
 else {
  [prefs setObject:@"NO" forKey:@"facebook"];
 }


 if (twitterSwitch.on) {
  [prefs setObject:@"YES" forKey:@"twitter"];  
 }
 else {
  [prefs setObject:@"NO" forKey:@"twitter"];
 }


 if (pmSwitch.on) {
  [prefs setObject:@"YES" forKey:@"pm"];  
 }
 else {
  [prefs setObject:@"NO" forKey:@"pm"];
 }

 [prefs synchronize];
}

Это проблема с моим использованием NSUserDefaults?

Спасибо за помощь.


person Grt    schedule 19.10.2010    source источник
comment
что значит не работает? Есть ли ошибки в журнале?   -  person Aaron Saunders    schedule 20.10.2010
comment
Что ж, это моя главная проблема на данный момент: у меня нет устройства для его отладки, поэтому кто-то еще тестировал его, поэтому я знаю только, что приложение закрывается. Я знаю, что это не очень хорошая основа для решения проблемы, но я просто не могу понять, почему это не работает на устройстве.   -  person Grt    schedule 20.10.2010
comment
Удалось ли ранее тестировщику успешно загрузить ваши программы? т. е. вы уверены, что это не какая-то проблема с обеспечением?   -  person diatrevolo    schedule 20.10.2010
comment
Да, только один вид (этот вид) не работает, остальные виды работают без проблем. И это единственное представление, где я использую NSUserDefaults, поэтому я думаю, что это может быть проблемой, но с моей реализацией все должно быть в порядке.   -  person Grt    schedule 20.10.2010
comment
В этом контексте я не могу сказать, что где-то вижу что-то не так... очистите свою сборку, удалите любую текущую версию на устройстве, убедитесь, что и ваш симулятор, и устройство вашего тестера настроены на один и тот же SDK. Если это все еще не работает, возможно, поможет еще какой-то контекст (например, контроллер, реализующий это представление).   -  person diatrevolo    schedule 20.10.2010
comment
Хорошо, спасибо, так что я не совсем слепой или глупый ;) Я попробую все очистить и проверить еще раз.   -  person Grt    schedule 20.10.2010


Ответы (1)


Вы должны изучить журнал сбоев:

Автоматическая загрузка журналов сбоев iPhone

person Josh Hinman    schedule 19.10.2010
comment
Спасибо! Это очень поможет (надеюсь), отлично! - person Grt; 20.10.2010
comment
Я проверяю файлы журнала и... все в порядке! Это была вина моего тестмена. Спасибо! - person Grt; 22.10.2010