새 버전에서 데이터베이스/콘텐츠 구조를 변경 한 것 같습니다. 따라서 오래된 (지속 된) 데이터베이스/컨텐트에 대한 읽기/쓰기가 실패했습니다. 일반적으로 데이터베이스/컨텐츠를 이전 버전에서 새 버전으로 변환하는 마이그레이션 규칙을 정의해야하므로 문제없이 업데이트 한 후에 사용할 수 있습니다. 나는 파이어베이스를 모른다. 그래서 나는 당신을 도울 수 없다.
또 다른 대안은 호환되지 않는 새 버전이있을 때마다 영구 데이터를 제거하고 업데이트 직후 정리로 시작하는 것입니다. 이미 실행 된 앱의 버전이 1.0.0 인 경우 앱 흐름의 초기 단계에서 이와 비슷한 작업을 수행 할 수 있다고 가정합니다.
NSString *lastKnownVersion = [[NSUserDefaults standardUserDefaults] stringForKey:@"LastKnownAppVersion"];
NSString *currentVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]
if (!lastKnownVersion || [currentVersion compare:newVersion options:NSNumericSearch]==NSOrderedAscending) {
if (!lastKnownVersion) {
// first start after update from version 1.0.0 (or lower) to a larger version
// cleanup code here
} else if ([lastKnownVersion compare:@"2.0.0" options:NSNumericSearch]==NSOrderedAscending) {
// first start after update from version 1.0.1 up to 2.0.0 to a larger version
// cleanup code here
} // ... add more versions that need a legacy handling
[[NSUserDefaults standardUserDefaults] setObject:currentVersion forKey:@"LastKnownAppVersion"];
[[NSUserDefaults standardUserDefaults] synchronize];
}