レビュープロセスで立ち往生しています。
Apple のレビュアーは、アプリケーションで必要なファイルに「バックアップしない」フラグを設定していないと述べています。
確かに、そのフラグでファイルをマークすることを忘れたのは初めてです。しかし、2回目はここで説明されている方法を使用しましたhttp://developer.apple.com/library/ios/#qa/qa1719/_index.html
しかし、それは機能せず、アプリは再び拒否されました。
iOS 5.1 で使用する必要があると Apple が言っている方法を使用して、デバッグと再試行を繰り返すと、ファイルは「バックアップしない」とマークされません。
- (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 用の方法) を使用してアプリを再度アップロードし、同じ問題でアプリケーションを再度拒否する可能性があることを残念に思います。
したがって、ドキュメントには1つのことが書かれていますが、このことは適切に機能していません。
誰かがこの問題を解決しましたか? Apple のレビュアーは、この問題とその解決方法について何も語っていません。