iPh*_*er. 7 iphone appstore-approval ios
我们将数据存储到应用程序的Document目录中,我们拒绝了应用程序.我们尝试使用"不备份"属性来在当前版本中使用以下代码存储数据.
- (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)
我们已根据iOS数据存储指南使用它.
在早期版本中,我们还尝试将数据存储在Private目录中.但是,我们无法获得申请批准.
您能否就我们无法获得申请批准的原因向您提供更多说明?或者,我们还需要有关数据存储的代码的任何其他更改?所以,我们可以获得批准,我们在iTunes上有新版本的应用程序.
我认为@ Jasarien的评论是正确的答案,但没有进一步的通讯,这个问题相对较新,所以我会扩展.
让其他人看到你得到的拒绝:
iOS数据存储指南指定:
只有用户生成的文档和其他数据,或者应用程序无法重新创建的数据应存储在/ Documents目录中,并由iCloud自动备份.
可以再次下载或重新生成的数据应存储在/ Library/Caches目录中.您应该放在Caches目录中的文件示例包括数据库缓存文件和可下载内容,例如杂志,报纸和地图应用程序使用的内容.
临时使用的数据应存储在/ tmp目录中.虽然这些文件没有备份到iCloud,但请记住在完成这些文件后删除这些文件,以免它们继续消耗用户设备上的空间.
使用"不备份"属性来指定应保留在设备上的文件,即使在低存储情况下也是如此.将此属性与可以重新创建的数据一起使用,但即使在低存储情况下也需要保持这些属性才能使应用程序正常运行,或者因为客户希望它在脱机使用期间可用.此属性适用于标记文件,无论它们位于何种目录中,包括Documents目录.这些文件不会被清除,也不会包含在用户的iCloud或iTunes备份中.由于这些文件确实使用了设备上的存储空间,因此您的应用程序负责定期监视和清除这些文件."
例如,只有用户使用您的应用创建的内容(例如,文档,新文件,编辑等)可以存储在/ Documents目录中 - 并由iCloud备份.
应用程序使用的临时文件只应存储在/ tmp目录中; 请记得在用户退出应用程序时删除存储在此位置的文件.
可以重新创建但必须保持应用程序正常运行的数据 - 或者因为客户希望它可供脱机使用 - 应标记为"不备份"属性.有关详细信息,请参阅技术问答1719:如何防止文件备份到iCloud和iTunes?.
所以我明白为什么你会使用"不备份"并期望遵守规定,但我认为像@Jasarien所说的那样 - 它们意味着你要迁移到更多离散目录,如缓存或临时.
事实上,肯定会通过审核的是切换到核心数据和使用内部SQLite - 但这可能是太多的工作.
总结 - 关于如何保存到缓存或tmp的帖子 - 在iOS 5应用程序中保存文件的位置? (实际上,也许这只是那一个的副本......: - /)
GL!俄德
- 编辑 -
另一个好帖子:https: //stackoverflow.com/questions/8164868/ios-data-storage-guidelines-available-since-when
- 编辑#2 -
还有一个好帖子: iOS 5不允许将下载的数据存储在Documents目录中?
猜猜我应该只是指出重复...... :)
| 归档时间: |
|
| 查看次数: |
3184 次 |
| 最近记录: |