苹果存储指南的方式给我带来了更多问题,因为我从 Documents 目录(文件、数据库和某种与应用程序相关的东西)维护的大部分数据。最近我上传了一个二进制文件到应用程序商店,它被拒绝了苹果根据这一点向我提供了一份报告,我将更改我的代码如下
- (NSString *)applicationDocumentsDirectory {
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSURL *pathURL= [NSURL fileURLWithPath:documentPath];
[self addSkipBackupAttributeToItemAtURL:pathURL];
return documentPath;
}
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
const char* filePath = [[URL path] fileSystemRepresentation];
const char* attrName = "com.apple.MobileBackup";
u_int8_t attrValue = 1;
int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
return result == 0;
}
我的问题:
1.我可以直接使用 addSkipBackupAttributeToItemAtURL: 方法到文档目录来禁止我在文档目录中的所有文件的 iCloud 备份。
2.上面提到的代码足以让我的应用程序在应用程序商店中获得批准,以防我的最后一个二进制文件由于“不备份”属性而被拒绝,因为我的文档目录中不包含“不备份”属性。