2010-10-19 47 views
1

我有一些代碼,這在模擬器運行完美,但我不能真正的iPhone設備上運行它,我不明白的原因:iPhone應用程序工作在模擬器,但不是在裝置(NSUserDefaults的)

- (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的問題嗎?

謝謝你的幫助。

+0

你是什麼意思它不工作?日誌中有任何錯誤? – 2010-10-19 20:56:35

+0

那麼,這是我目前的主要問題:我沒有一個設備來調試它,所以其他人測試它,所以我只知道應用程序被關閉。我知道這不是一個很好的基礎來解決問題,但我只是不明白爲什麼它不適用於設備。 – Grt 2010-10-19 21:01:35

+0

測試人員之前是否已成功加載程序?即你確定它不是某種供應問題嗎? – diatrevolo 2010-10-19 21:33:11

回答

2

您應檢查崩潰日誌:

Auto upload crashlogs iPhone

+0

謝謝!這將非常有幫助(希望),太棒了! – Grt 2010-10-19 22:06:15

+0

我檢查日誌文件和...一切都OK!這是我的「測試人員」的錯。謝謝! – Grt 2010-10-21 21:39:02

相關問題