ios应用, 设置不自己主动备份到iCloud
原创文章,转载请注明出处
ios项目,假设有内置下载或者程序动态生成文件的话,就要注意所下载或生成的文件,要不要自己主动备份到iCloud
假设没有合适的理由就自己主动上传大文件的话,可能在不能通过应用审核. 收到一下类似这种答复
We also found that your app does not follow the iOS Data Storage Guidelines, which is required per the App Store Review Guidelines.
比如有人遇到相同问题 http://stackoverflow.com/questions/16239147/ios-do-not-back-up-attribute
苹果给出的设置方法:官方文档 https://developer.apple.com/Library/ios/qa/qa1719/_index.html
应用到项目中, 详细代码例如以下
#define DownLoad_Directory "Download_Dir" #pragma mark Download_Dir
void DeviceClass::initDownloadDir(){
string l_strDocumentDir = cocos2d::CCFileUtils::sharedFileUtils()->getWritablePath();
l_strDocumentDir.append(DownLoad_Directory); NSString* l_strDownloadDir = [NSString stringWithUTF8String:l_strDocumentDir.c_str()];
NSError* l_error;
if (![[NSFileManager defaultManager] fileExistsAtPath:l_strDownloadDir]){
[[NSFileManager defaultManager] createDirectoryAtPath:l_strDownloadDir withIntermediateDirectories:NO attributes:nil error:&l_error]; //Create folder // exclude downloads from iCloud backup
NSURL *url = [NSURL fileURLWithPath:l_strDownloadDir];
if(strcmp(g_systemVersion.c_str(), "5.1") >=0 ){
if ([url setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:&l_error] == NO) {
NSLog(@"Error: Unable to exclude l_strDownloadDir from backup: %@", l_error);
}
}
} //this->setDonotBackupInICloud();
}
就是在可写文件夹下建立一个新文件夹, 存放下载文件(须要的话,自己主动生成的文件也放到这), 并标记这个文件夹不会被上传到iCloud
感谢梅俊同事的提醒
測试方法:
设置->iCloud->管理储存空间->备份(假设有多设备的话,选择设备)
应用多的话,点击"显示全部应用" 查到你的应用,在iCloud上备份内容的总容量.
打开和关闭这个接口, 会发现, 你的应用在iCloud上的备份mwjg容量是不是一样.
ios应用, 设置不自己主动备份到iCloud的更多相关文章
- 利用rman自己主动备份转储spfile
		
利用rman自己主动备份转储spfile [情景简单介绍] 生产环境丢失了server的參数文件,rman已开启自己主动备份设置. [操作过程简述] ----启动rman $rman target / ...
 - window下自己主动备份数据库成dmp格式的bat写法
		
复制以下的命令到一个txt文本文档,然后改动相应的參数为自己须要的參数,一切完毕之后,将文件保存为bat格式. 这样每次须要备份的时候仅仅须要双击一下这个bat文件.其它的都不用你了,你仅仅须要静静的 ...
 - Mysql自己主动备份
		
Mysql自己主动备份 批处理命令: set"Ymd=%date:~,4%%date:~5,2%%date:~8,2%" set"hMs=%time:~,2%%time: ...
 - iOS 怎么设置 UITabBarController 的第n个item为第一响应者?
		
iOS 怎么设置 UITabBarController 的第n个item为第一响应者? UITabBarController 里面有个属性:selectedIndex @property(nonato ...
 - [函数] Firemonkey iOS 指定目录不要备份到 iCloud
		
uses iOSapi.Foundation, Macapi.Helpers; // 不要备份到 iCloud by Aone function addSkipBackupAttributeToIte ...
 - iOS开发小技巧--iOS中设置applicationIconBadgeNumber遇到的问题
		
iOS中设置applicationIconBadgeNumber 在iOS7中直接设置applicationIconBadgeNumber没有问题,但是在iOS8之后设置applicationIcon ...
 - 【转】iOS中设置导航栏标题的字体颜色和大小
		
原文网址:http://www.360doc.com/content/15/0417/11/20919452_463847404.shtml iOS中设置导航栏标题的字体颜色和大小,有需要的朋友可以参 ...
 - iOS中设置导航栏标题的字体颜色和大小
		
iOS中设置导航栏标题的字体颜色和大小,有需要的朋友可以参考下. 在平时开发项目的时候,难免会遇到修改导航栏字体大小和颜色的需求,一般使用自定义视图的方法,其实还存在一种方法. 方法一:(自定义视图的 ...
 - 李洪强iOS之集成极光推送二iOS 证书 设置指南
		
李洪强iOS之集成极光推送二iOS 证书 设置指南 创建应用程序ID 登陆 iOS Dev Center 选择进入iOS Provisioning Portal. 在 iOS Provisioning ...
 
随机推荐
- operator new 和 operator delete 实现一个简单内存泄漏跟踪器
			
先来说下实现思路:可以实现一个Trace类,调用 operator new 的时候就将指向分配内存的指针.当前文件.当前行等信息添加进Trace 成员map容器内,在调用operator delete ...
 - RTTI、dynamic_cast、typeid、类与类之间的关系uml
			
一.RTTI Run-time type information (RTTI) is a mechanism that allows the type of an object to be deter ...
 - Linux平台上实现队列
			
转载: http://my.oschina.net/sundq/blog/203600 Linux上目前有两种事件通知方式,一种是线程条件变量,一种是利用eventfd实现事件通知,下面介绍一下利用这 ...
 - TeleMCU视频会议系统添加字幕支持
			
本文原创自 http://blog.csdn.net/voipmaker 转载注明出处. 最新版本号TeleMCU添加了字幕支持,与会者能够看到其它人的名字,做法是在与会者的视频上overlay 文 ...
 - Windows服务操作之sc和net命令及windows任务计划
			
看个粟子: 1.“新建项目”——“Window服务” 生成的目录结构 双击“MainService.cs”,右键点击“添加安装程序”,自动会生成Projectinstaller.cs文件以及两个安装组 ...
 - 简单认识DataSet与DataTable
			
DataSet 是放在内存中的,对DataSet中数据的修改并不直接反应到数据库,要通过 DataAdapter 的 Update 方法更新回数据库; DataSet相当你用的数据库: DataTab ...
 - javascript 相等运算符
			
相等运算符 JavaScript提供两个相等运算符:==和===. 简单说,它们的区别是相等运算符(==)比较两个值是否相等,严格相等运算符(===)比较它们是否为“同一个值”.如果两个值不是同一类型 ...
 - JavaScript:Object.prototype.toString进行数据类型判定
			
在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. var arr = []; console.log(Obje ...
 - ios端 返回上一级后 卡在正在加载中处理方式
			
//返回上一页 $('#goback').click(function () { history.back(); }); //判断是否为ios系统,若为ios则监听并重载 var u = naviga ...
 - maven使用deploy发布到本地仓库
			
使用maven可以方便的开发好的jar包发布到本地仓库中,方便其他项目依赖使用,在pom.xml文件中添加如下的配置: <distributionManagement> <repos ...