我創建一個持久存儲區協調員這樣的:無法保存核心數據管理對象上下文時設備密碼鎖定
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Mydatabase.sqlite"];
NSError *error = nil;
__persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error])
的問題是,只要我發出了一個節省任何託管對象上下文它失敗,出現以下錯誤:
May 15 17:46:18 xx-iPad @WorkMail[2807] <Warning>: Core Data: annotation: -executeRequest: encountered exception = Updating max pk failed: with userInfo = {
NSSQLiteErrorDomain = 14;
}
May 15 17:46:18 xx-iPad @WorkMail[2807] <Warning>: Core Data: annotation: -executeRequest: encountered exception = Updating max pk failed: with userInfo = {
NSSQLiteErrorDomain = 14;
}
May 15 17:46:18 xx-iPad @WorkMail[2807] <Warning>: Core Data: annotation: -executeRequest: encountered exception = Updating max pk failed: with userInfo = {
NSSQLiteErrorDomain = 14;
}
這是一個錯誤,另外erorr是授權拒絕錯誤錯誤21。
當密碼鎖定未啓用時,不會發生。我正在使用單個持久存儲協調器從後臺線程寫入核心數據。
我已經弄清楚這是什麼。這個問題不是核心數據問題,而是當啓用密碼鎖時,數據保護被啓用到最大級別,從而防止寫入應用程序文檔目錄中的任何文件。該問題是由另一位團隊成員更改應用ID引起的。因此,如果您點擊此選項,請檢查您的應用ID和開發者證書屬性 – Lee
嘿@Lee!考慮發佈這個[回答你自己的問題](http://blog.stackoverflow.com/2009/01/accept-your-own-answers/)。 – steveluscher