您的位置:首页 > 移动开发 > IOS开发

IOS开发最新的公告关于保存缓存到Documents 发布被拒的解决办法

2016-06-06 18:34 555 查看
1.在入口类写下如下方法,在发布时跳过缓存文件的目录

@interfaceAppDelegate: UIResponder <UIApplicationDelegate,WXApiDelegate,UIAlertViewDelegate>
@property (strong,nonatomic)UIWindow*window;
//判断略过当前路径防止备份到iCloud,发布时被拒,写在入口类
-(BOOL)addSkipBackupAttributeToItemAtURL:(NSURL*)URL;
@end


2.在.m文件中实现此方法

#pragma mark --增加忽略备份的文件的地址【解决iCloud同步问题】
-(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(@"ERRorexcluding %@ from back %@",[URL lastPathComponent],error);
}
return success;
}

3.  在需要的类中调用此方法

// 下载文件本地文件夹 (此处是为了下载音频所以`/Audio`)
// 提醒: 下载文件到 Download 目录下建议给用户提示, 为了审核!!x
NSString *audioDir = [NSString stringWithFormat:@"%@/Download/Audio", docPath];

//06-06:保存缓存到Documents,不进行iCloud同步
//audioDir为保存在Documents的地址
[KSAppDelegate addSkipBackupAttributeToItemAtURL:[NSURL URLWithString:audioDir]];


-(AppDelegate*)AppDelegate
{
return(AppDelegate*)[UIApplicationsharedApplication].delegate;
}
- (void)viewDidLoad{
[superviewDidLoad];
//filePathImage为保存在Documents的地址
[[selfAppDelegate]addSkipBackupAttributeToItemAtURL:[NSURLURLWithString:filePathImage]];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: