4

由于 iCloud 备份限制,我的应用程序从应用程序商店被拒绝,而我没有将任何数据保存到 iCloud。请帮我。

4

4 回答 4

1

但假设您正在文档目录中保存一些数据。Apple 表示您必须将这些数据标记为未由 iCloud 备份。这可能会有所帮助。(但这也应该在您从 Apple 获得的答案中。

于 2013-05-13T11:40:36.207 回答
1

将属性应用于所有文件:)) (当然你可以排除需要)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

添加这个。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

[self applyAttributes:documentsDirectory];    

paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
documentsDirectory = [paths objectAtIndex:0];

[self applyAttributes:documentsDirectory];


paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
documentsDirectory = [paths objectAtIndex:0];

[self applyAttributes:documentsDirectory];



-(void)applyAttributes:(NSString *)folderPath
{
  NSArray *filesArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:folderPath error:nil];
  NSEnumerator *filesEnumerator = [filesArray objectEnumerator];
  NSString *fileName;

  while (fileName = [filesEnumerator nextObject]) {

    if([self addSkipBackupAttributeToItemAtURL:[NSURL fileURLWithPath:[folderPath stringByAppendingPathComponent:fileName]]])
    {
        //NSLog(@"success applying");
    }


}

}



- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
  if([[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;
}

return NO;

}
于 2013-05-13T11:57:56.860 回答
1

只需更改您的 Cordova.plist 文件。在备份存储更改为云 = 无。从科尔多瓦框架中的参考资料中获取帮助。这不适用于本机应用程序。对于本机应用程序,开发人员通知或验证用户该应用程序将在 iCloud 上进行存储。

于 2013-05-13T12:54:06.323 回答
1

默认情况下,存储在应用程序的 Documents 目录中的所有数据都会备份到 iCloud。Apple 的 iOS 数据存储指南(可在此处找到)指定用户可以重新创建的任何数据都不得备份到 iCloud。

你有几个选项在这里

  1. 将数据保存到<Application_Home>/Library/Caches<Application_Home>/tmp取决于您的用例

  2. 使用“不备份”标志标记您保存在 Documents 目录中的文件(如此所述)

于 2013-05-13T11:41:46.517 回答