APP被苹果拒绝,说是document等文件夹不能备份到iCloud

qingliang4321 2016-05-12 02:36:30
我加上上了阻止文件备份到iCloud里的代码,结果还是被苹果打回来了
跪求大神指点啊。
我的代码如下:
在AppDelegate.m中:
//设置禁止Document和Library目录下的文件同步到iCloud
-(void)addNotBackUpiCloud{
NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSArray *libPaths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *docPath = [docPaths objectAtIndex:0];
NSString *libPath = [libPaths objectAtIndex:0];
[self fileList:docPath];
[self fileList:libPath];
}

- (void)fileList:(NSString*)directory{
NSError *error = nil;
NSFileManager * fileManager = [NSFileManager defaultManager];
NSArray *fileList = [fileManager contentsOfDirectoryAtPath:directory error:&error];
for (NSString* each in fileList) {
NSMutableString* path = [[NSMutableString alloc]initWithString:directory];
[path appendFormat:@"/%@",each];
NSURL *filePath = [NSURL fileURLWithPath:path];
[self addSkipBackupAttributeToItemAtURL:filePath];
[self fileList:path];
}

}

- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
//NSURL* URL= [NSURL fileURLWithPath: filePathString];
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;
}

然后
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self addNotBackUpiCloud];
...全文
1174 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingliang4321 2017-01-14
  • 打赏
  • 举报
回复
引用 5 楼 a123478we的回复:
楼主,怎么解决的啊。。。。。
你搜一下 document不备份到icloud就可以,这类问题解决方案很多
a123478we 2016-07-20
  • 打赏
  • 举报
回复
楼主,怎么解决的啊。。。。。
qingliang4321 2016-05-14
  • 打赏
  • 举报
回复
引用 3 楼 ravatar0423的回复:
两个方案: 1. 在document目录下面创建子目录,专门用于放置你的数据;并且把该目录设置为不备份; 2. 直接把你的数据,放置在Library目录下面,不要放到 document目录;
多谢,已经按照你的办法直接把document整个文件夹限制备份到iCloud,已经通过审核了
qingliang4321 2016-05-13
  • 打赏
  • 举报
回复
引用 1 楼 ravatar0423的回复:
1. 苹果有没有告诉你,document目录下面的那些数据导致不能备份到iCloud呢? 2. 其次你的代码只是枚举了document和library目录下,现有的文件和目录不需要备份;但是如果程序启动后,再新添加文件或者目录到document下面,这些文件和目录还是会备份的; 最简单的方式是整个document都不要备份吧; 另外两点说明: 1. library目录默认就不同步到iCloud,所以不需要禁止; 2. NSURLIsExcludedFromBackupKey支持目录,不需要遍历每一个文件和目录;
在此感谢兄弟的回帖,请问我该如何限制document在添加文件或者目录后不再备份到iCloud,可否给一个链接或者代码?
ravatar0423 2016-05-13
  • 打赏
  • 举报
回复
两个方案: 1. 在document目录下面创建子目录,专门用于放置你的数据;并且把该目录设置为不备份; 2. 直接把你的数据,放置在Library目录下面,不要放到 document目录;
ravatar0423 2016-05-12
  • 打赏
  • 举报
回复
1. 苹果有没有告诉你,document目录下面的那些数据导致不能备份到iCloud呢? 2. 其次你的代码只是枚举了document和library目录下,现有的文件和目录不需要备份;但是如果程序启动后,再新添加文件或者目录到document下面,这些文件和目录还是会备份的; 最简单的方式是整个document都不要备份吧; 另外两点说明: 1. library目录默认就不同步到iCloud,所以不需要禁止; 2. NSURLIsExcludedFromBackupKey支持目录,不需要遍历每一个文件和目录;

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧