【问题标题】:iPhone App works in simulator but not on device (NSUserDefaults)iPhone App 在模拟器上工作,但在设备上不工作(NSUserDefaults)
【发布时间】:2010-10-19 20:52:45
【问题描述】:

我有一些代码,在模拟器中运行完美,但我无法在真正的 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 有问题吗?

感谢您的帮助。

【问题讨论】:

  • 你的意思是它不起作用?日志中有错误吗?
  • 嗯,这就是我目前的主要问题:我这里没有设备来调试它,所以其他人对其进行了测试,所以我只知道应用程序已关闭。我知道这不是解决问题的一个很好的基础,但我就是不明白为什么它在设备上不起作用。
  • 测试仪之前是否成功加载过您的程序?即,您确定这不是某种供应问题吗?
  • 是的,它只是一个视图(这个视图)不起作用,其他视图没有问题。这是我使用 NSUserDefaults 的唯一视图,这就是为什么我认为这可能是问题所在,但我的实现应该一切正常。
  • 在这种情况下,我真的不能说我在任何地方都看到了任何错误...清理您的构建,删除设备上的任何当前版本,确保您的模拟器和测试仪的设备都设置为相同的 SDK。如果它仍然不起作用,也许更多的上下文会有所帮助(即实现此视图的控制器)。

标签: iphone objective-c ios-simulator nsuserdefaults


【解决方案1】:

您应该检查崩溃日志:

Auto upload crashlogs iPhone

【讨论】:

  • 谢谢!这将很有帮助(希望如此),太好了!
  • 我检查了日志文件并且...一切正常!这是我的“测试人员”的错。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-19
  • 2023-03-23
  • 2013-07-02
  • 2014-06-18
  • 1970-01-01
  • 1970-01-01
  • 2012-12-21
相关资源
最近更新 更多