因为在项目使用百度地图的时候会在Document里生成cfg文件,大小大概800k,随着百度地图sdk的运行似乎还会增加大小。
就是因为这个cfg,AppStore拒绝了我的应用。理由是2.23(很长的一段英文,大意就是嫌放在iCloud里的非用户文件太大)。我的文件明明是放在Document里的怎么就冒出了一个iCloud?其实ios默认情况下,放在Document的文件是会被上传到iCloud里进行备份的!!
因为百度地图的cfg文件是放在Document里的,所以我们得把默认上传Document文件到iCloud里的属性关闭。
具体代码如下:
开始前,记住要导入一个东西
实现代码
ok,这个方法和官方提供的方法不太一样,不过挺奏效的。
就是因为这个cfg,AppStore拒绝了我的应用。理由是2.23(很长的一段英文,大意就是嫌放在iCloud里的非用户文件太大)。我的文件明明是放在Document里的怎么就冒出了一个iCloud?其实ios默认情况下,放在Document的文件是会被上传到iCloud里进行备份的!!
因为百度地图的cfg文件是放在Document里的,所以我们得把默认上传Document文件到iCloud里的属性关闭。
具体代码如下:
开始前,记住要导入一个东西
[代码]c#/cpp/oc代码:
1 |
#include
<sys/xattr.h>//导入该框架用于防止相应文件的云储存iCloud |
[代码]c#/cpp/oc代码:
01 |
//关闭iCloud的方法,直接拷贝就能用 |
02 |
-
( void )addSkipBackupAttributeToPath:(NSString*)path
{ |
03 |
u_int8_t
b = 1; |
04 |
setxattr([path
fileSystemRepresentation], "com.apple.MobileBackup" ,
&b, 1, 0, 0); |
05 |
} |
06 |
07 |
-
( void )viewDidLoad |
08 |
{ |
09 |
[super
viewDidLoad]; |
10 |
//为Document文件设置不iCloud存储属性,防止AppStore审核无法通过2.23条款 |
11 |
NSString
*notBackUpPathDoc = nil; |
12 |
notBackUpPathDoc
= [NSString stringWithFormat: @"%@/Documents/" ,NSHomeDirectory()]; |
13 |
[self
addSkipBackupAttributeToPath:notBackUpPathDoc]; |
14 |
|
15 |
NSString
*notBackUpPathCach = nil; |
16 |
notBackUpPathCach
= [NSString stringWithFormat: @"%@/Library/Caches/" ,NSHomeDirectory()]; |
17 |
[self
addSkipBackupAttributeToPath:notBackUpPathCach]; |
18 |
19 |
20 |
} |