我似乎無法從我的代碼中獲取備份屬性參數。不管我看起來如何做,該方法返回false與「未知的錯誤-1」。我曾嘗試跳過備份方法的不同迭代,但下面是我使用的是最新的基礎上,另一篇文章,我發現:Obj-C - 添加'skip-backup'屬性總是失敗
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
const char* filePath = [[URL path] fileSystemRepresentation];
const char* attrName = "com.apple.MobileBackup";
if (&NSURLIsExcludedFromBackupKey == nil) {
// iOS 5.0.1 and lower
u_int8_t attrValue = 1;
int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
return result == 0;
} else {
// First try and remove the extended attribute if it is present
int result = getxattr(filePath, attrName, NULL, sizeof(u_int8_t), 0, 0);
if (result != -1) {
// The attribute exists, we need to remove it
int removeResult = removexattr(filePath, attrName, 0);
if (removeResult == 0) {
NSLog(@"Removed extended attribute on file %@", URL);
}
}
// Set the new key
return [URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:nil];
}
}
我的方法調用如下所示(它總是打印「不成功「):
if ([self addSkipBackupAttributeToItemAtURL:[NSURL fileURLWithPath:filePath]]) {
NSLog(@"success!");
} else {
NSLog(@"not successful");
}
而filePath是文檔文件夾映像的NSString路徑。我記錄一個圖像路徑的示例如下:
/var/mobile/Applications/B3583D06-38BC-45F0-A027-E79997F0EC60/Documents/myImage.png
在我的應用程序,它通過循環的所有(衆多)文件,我推送到那裏,並且它添加了這個屬性。它在每一個都失敗了。由於這些動態驅動文件對離線功能的要求很高,我需要能夠實現這一目標。我沒有看到很多其他人都有這個問題,所以這告訴我我可能會錯過這裏明顯的東西,哈哈。
我發現這個職位:Why was my application still rejected after excluding files from iCloud backup using this code?
這看起來很有希望,什麼我的問題可能是,但目前還沒有真正關心如何具體解決任何細節(它只是建議使用/庫,而不是文檔的夾?)。
感謝任何人提前誰可以幫助! -Vincent
什麼是您的iOS SDK版本和iOS目標版本? – 2012-07-19 16:33:14
對不起,我應該提到這一點。 iOS SDK是:5.1,iOS目標版本是:4.3(但如果需要,可以提出這個問題)。不過,我的設備是最新的操作系統,這就是我從Xcode運行應用程序的地方。謝謝! – svguerin3 2012-07-19 16:37:50