因为在项目使用百度地图的时候会在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 | } |