Mih*_*hta 20 iphone storage ios ios5
我的iphone应用程序最近被拒绝并且出于以下原因:
"我们发现您的应用不符合iOS数据存储指南,后者不符合App Store审核指南."
对于这个应用程序,我将数据库(sqlite文件)存储在iOS 5.0.1及以上版本的/ Documents /目录中,对于iOS 5.0及以下版本,我使用了Library/Cache目录.
对于我从服务器下载的其他数据,如PDF和艺术作品图像,我采用了与上述相同的方法: iOS 5.0.1及更高版本:将这些数据保存到/ Documents /目录 iOS 5.0及更早版本:保存的数据到库/缓存目录.
这种方法是否正确?
根据Apple指南: 重要提示:新的"不备份"属性仅供iOS 5.0.1或更高版本使用.在iOS 5.0及更早版本中,应用程序需要将其数据存储在/ Library/Caches中以避免备份.由于旧系统会忽略此属性,因此您需要确保您的应用程序符合您的应用程序支持的所有iOS版本上的iOS数据存储指南.
对于为iOS 5.0.1及更高版本存储的数据的"不备份"属性分配也非常困惑.我需要为哪些文件分配这个标志?我可以将它用于数据库吗?
它已经发生了两次,需要摆脱这些拒绝.请提供一些存储我的应用程序数据的指导.提前致谢.期待积极的回应.
Ton*_*ion 17
检查https://developer.apple.com/icloud/documentation/data-storage/
特别:
将此属性与可以重新创建的数据一起使用,但即使在低存储情况下也需要保持这些属性才能使应用程序正常运行,或者因为客户希望它在脱机使用期间可用.此属性适用于标记文件,无论它们位于何种目录中,包括Documents目录.
将SQLite数据库存储在caches文件夹中并设置donotbackup标志,这将停止缓存清理系统删除的文件
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
const char* filePath = [[URL path] fileSystemRepresentation];
const char* attrName = "com.apple.MobileBackup";
u_int8_t attrValue = 1;
int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
return result == 0;
}
Run Code Online (Sandbox Code Playgroud)
我在我的应用程序中使用数据库并将其存储在缓存文件夹中(设置了上面的标志)并且刚刚获得批准没有问题.
此外,您可以将数据存储在文档目录的子文件夹中,我相信这些文件目录不会备份,但会保留.
我的一个朋友有同样的问题.基本问题是您可能在应用程序文档目录中存储大量数据.
在Apple中实现iCloud后,文档目录数据与iCloud Storage有某种关联.因此,Apple现在拒绝在文档目录中使用大量数据存储的应用程序.
您需要将数据存储在其他位置.存储PDF和其他艺术品文件在其他位置.
这个链接可以帮到你.
http://www.techotopia.com/index.php/Working_with_Directories_on_iOS_4_%28iPhone%29
我希望它能解决你的问题.
| 归档时间: |
|
| 查看次数: |
9194 次 |
| 最近记录: |