2014-10-15 3 views
0

iOS 8.x부터 UserDefaults가 이상한 동작을합니다. app-switcher를 통해 내 앱을 "종료"할 때마다 내 userdefaults가 재설정됩니다.iOS 8.0 : NSUserDefaults 재설정

iOS 7.x에서는 매력처럼 작동하므로 친구들이 나를 도울 수 있기를 바랍니다.

앱 위임의 일부 코드 :

if ([[NSUserDefaults standardUserDefaults] objectForKey:@"FirstStart"]) 
    { 
     [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"FirstStart"]; 
     [[NSUserDefaults standardUserDefaults] synchronize]; 
    } 
    else 
    { 
     [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"FirstStart"]; 
     [[NSUserDefaults standardUserDefaults] synchronize]; 
    } 

이 한 예이다. 나는 더 많은 코드 스 니펫을 가지고 있는데, userdefaults (주로 bool)에 저장하고 재설정 할 때마다 저장한다.

xCode부터 시작할 때 문제가 없습니다.

무엇이 문제 일 수 있습니까?

+0

시뮬레이터 또는 기기를 통해 연결 되나요? 나는 xcode6 이후 시뮬레이터에서 NSUserDefaults를 사용하면서 문제를 발견했다. – shawnwall

+0

장치를 통해 문제가 나타납니다. – TdoubleG

+0

어, 그게 나쁜 소식입니다. 레이더 확인 했니? – shawnwall

답변

2

KILL ME !!! 내 AppDelegate에 방법 applicatinWillTerminate에서

: 응용 프로그램은 내가

라고

있는 NSString * 응용 프로그램 도메인 = [[NSBundle mainBundle] bundleIdentifier]

[[NSUserDefaults standardUserDefaults] removePersistentDomainForName : appDomain];

나는 UserDefaults를 제거하는 이유를 모르지만 어쨌든 이제는 잘 작동한다.

+0

oops :) 글쎄, 내가 분명히 지금은 분명히 문제가있어, 당신이 그것에서 애플 리케이션을 삭제할 때 시뮬레이터에 대한 userdefaults 재설정하지 말라고 말했다. – shawnwall

+0

그래, 내가 이미 realizied :) – TdoubleG