2012-04-23 50 views
0

我們有一個應用程序與核心數據和後備存儲是一個SQLite數據庫。核心數據和iOS數據存儲指南

它包含關鍵數據(即它需要始終可以脫機使用)。

它目前存儲在Documents目錄中,因此由於iOS數據存儲指南而被拒絕。

該解決方案似乎是使用「不備份」標記標記它。

但是,我還沒有看到任何指導方針。也就是說,我應該手動將此文件標記爲「不備份」,還是有一些我應該啓用的核心數據選項?

+0

蘋果拒絕我的應用程序出於同樣的原因,你能說你如何克服它? – 2013-03-22 06:28:16

+0

一段時間後再次提交,並通過了。 5.0.1和5.1之間的一些變化。從5.1開始,NSURLIsExcludedFromBackupKey和kCFURLIsExcludedFromBackupKey文件屬性完成這項工作。 – Snowcrash 2013-03-27 08:59:27

回答

1

你必須自己做手工,這裏是引導

https://developer.apple.com/library/ios/ipad/#qa/qa1719/_index.html

+1

這是Apple建議的文檔之一。我跟着它,用「不備份」屬性標記了相關文件,重新提交併再次被拒絕。這就是爲什麼我發佈這個問題,因爲我不知道我是否做了正確的事情。有沒有辦法檢查你是否在特定的文件上設置了屬性? – Snowcrash 2012-04-23 20:36:28

0

在iOS系統5.1或更高版本,最好使用新NSURLIsExcludedFromBackupKeykCFURLIsExcludedFromBackupKey文件屬性,而不是setxattr (iOS 5.0.1 compatible)

 
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL 
{ 
    assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]); 

    NSError *error = nil; 
    BOOL success = [URL setResourceValue:[NSNumber numberWithBool:YES] 
            forKey:NSURLIsExcludedFromBackupKey 
            error:&error]; 
    if(!success){ 
     NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error); 
    } 
    return success; 
} 

欲瞭解更多信息,請參閱 "App Backup Best Practices" section of the iOS App Programming Guide