我们陷入了审核过程。
Apple评论员说我们没有为我们的应用程序中需要的文件设置“不备份”标志。
当然我们第一次忘记用该标志标记文件。但第二次我们使用了这里描述的方法http://developer.apple.com/library/ios/#qa/qa1719/_index.html
但它没有运作,应用程序再次被拒绝。
一次又一次地调试和尝试,文件永远不会被标记为“不备份”使用Apple说我们需要在iOS 5.1中使用的方法
- (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;
}
但是如果我们使用他们说我们需要在iOS 5.0.1中使用的方法,那么这些文件会被很好地标记,并且不会在iCloud中备份。
#import <sys/xattr.h>
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);
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;
}
但麻烦的是那个医生页面Apple说这个方法已被弃用。所以我很害怕我们使用有效的方法(iOS 5.0.1的方法)再次上传应用程序并且可以再次拒绝相同问题的应用程序。
所以文档说了一件事,但这件事并没有正常运作。
有人让这个问题有效吗?而Apple评论家并没有就此问题以及如何解决问题向我们说明任何事情,以便我们能够100%地了解这些问题。