我的应用程序被拒绝了,因为我使用Documents目录来存储从服务器下载的一些文件。如何知道文件是否会在iCloud中备份?
我已经从苹果的文档readed这样的:https://developer.apple.com/library/ios/#qa/qa1719/_index.html我发现这个代码:addSkipBackupAttributeToItemAtURL -> NSString parameter?
我读也,此代码将是有益的iOS版本> = 5.0.1。并且iOS版本< 5不使用iCloud来备份用户数据。但是,iOS == 5.0使用iCloud来备份数据,但标志dosn't工作。
所以,我有两个问题:
首先,我需要在我的应用程序文件的工作(如数据库)。如果我将这些文件存储在Caches目录中,只要iOS需要删除我的文件。所以我保存我的文件在Documents目录,即:
/Documents/db.db
/Documents/my.plist
后,我在我的文件存储在该目录中我打电话了,我把该目录中的所有文件的方法addSkipBackupAttributeToItemAtURL。但我不知道如何测试这是否是方法正在工作。
我在这里iOS 5.0.1 : How to verify that the folder is marked as "Do not back up" for iCloud? readed,如果我用模拟器我可以到应用程序的目录,并运行此命令
3210知道,如果该文件已被标记为不能进行备份。
但是,如果我运行在命令行我为每一个文件这种结果的命令:
XATTR:my.plist:没有这样的XATTR:com.apple.MobileBackup
所以,第一个问题是:我怎么能确定我的Documents目录下的文件被正确标记为不被备份。我不想再将我的应用程序上传到AppStore,并且苹果的用户再次将其丢弃。
其次,我的应用程序在iOS 5中运行。我不想检查每个文件,如果用户有iOS 5.0并将其存储在Caches目录中,并且每次需要使用该文件时检查那里有“剧照”。我有一个500MB的数据库,我不能每次都下载。
所以,第二个问题是:如果在“iOS部署目标”中我选择5.1并且在Build Settings> Base SDK中我也选择5.1这意味着用户使用iOS版本< 5.1不会下载我的应用程序, ?因此,我不需要担心用iOS 5.0的用户带走我的数据,对吧?
所以如果我存储我的图书馆目录中的文件也不会被backep起来,它也不会受到每当它想的iOS被删除?我相信在这里说什么:http://stackoverflow.com/questions/9743977/ios-is-backing-up-28-0kb-of-some-unknown-data-from-my-app-to-icloud“ 1可接受的投票 \t 事实证明,预编译的Google Analytics库在/ Library目录中保留了一个名为googleanalytics.sql的小型数据库,一旦我发现这一点,我将该标志设置为“不备份”文件和它的工作:我得到0kb备份。“库目录正在备份。 – FreelanceAr
我编辑了答案。你是对的。感谢您的注意。 –