相关疑难解决方法(0)

iOS 5不允许将下载的数据存储在Documents目录中?

我已经通过将目标iOS保持为4来为我的客户端创建了一个应用程序.
但由于该应用程序仍未提交给Apple商店,我的客户端计划将其升级到iOS 5.0.

为此,我阅读了Apple指南,发现"只有用户生成的数据或者应用程序无法重新创建的数据应存储在/ Documents目录中,其余部分应存储在/ Library/Caches目录中"

在我的应用程序中,我正在使用针对非消费品的应用程序内购买的服务器模型.为此,我将所有下载的数据(基本上是书籍或杂志)存储到Documents目录中.数据库也存在于同一目录中,该目录包含有关下载产品的详细信息.

我的问题是,
1.我是否必须更改我的代码以将下载的数据存储到Library/Caches目录而不是Documents目录?
2.我的数据库文件应该放在哪里(到文档或缓存)?

如果我把它放在缓存中,那么我也必须改变检索的逻辑,因为如果记录存在于数据库中,则不需要改变文件的存在,并且当用户点击时它直接打开它该杂志.

请指导我这个问题.
提前致谢.

更新:
我正在为那些仍然不确定这个问题的人更新这个.
使用已接受答案的指导原则,我已在我的2个应用程序中实现了此功能并将其提交给Apple Store.两者都经过审查批准.
这可能会促使在接受的答案中建议的解决方案是正确的.

iphone objective-c in-app-purchase ios5

50
推荐指数
3
解决办法
2万
查看次数

iOS数据存储指南拒绝

我的应用被拒绝,因为它必须遵循iOS数据存储指南.我已经在stackoverflow上阅读了一些答案,我已经阅读了一些博客......我知道我的问题,在第一次应用程序启动时我复制1个sqlite数据库并解压缩文档文件夹中的一些图像.问题是icloud自动填充文件目录中的任何文件.我不需要在我的应用程序中使用icloud,但我的文件必须保留在文档文件夹中,因为它们是我的应用程序的基础数据,必须是persit(缓存文件夹或临时文件夹不是正确的解决方案).所以我读到了一个标志,我可以逐个文件设置以禁止备份:

[URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:nil];

我还读过这个方法只适用于高于5.0.1的ios,在另一个中它将被简单地忽略(我已经将我的ios部署目标设置为4.3)...如果我使用这种方法我的应用程序将再次被拒绝因为较旧的ios设备备份不受管理?如果是,有一个cross-iosversion方法来设置NSURLIsExcludedFromBackupKey?

编辑我很抱歉icloud不存在于ios 5.0之前,所以我认为问题只涉及版本5.0和5.0.1之间的差异,我错了?

iphone appstore-approval ios

5
推荐指数
1
解决办法
4372
查看次数

应用程序不会在文档目录中存储任何内容,但Appstore拒绝

我是iOS开发的新手.我的应用程序被拒绝了审核,说明以下原因,

2.23应用必须遵循iOS数据存储指南,否则将被拒绝

我们发现您的应用不符合iOS数据存储指南,这是根据App Store审核指南所要求的.

我没有将我的DB文件存储在文档目录中.这是我的代码,

NSString *libraryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
NSString *path = [libraryPath stringByAppendingPathComponent:@"DatabaseFolder"];
NSURL *pathURL = [NSURL fileURLWithPath:path];
BOOL isDirectory = NO;
if ([[NSFileManager defaultManager] fileExistsAtPath:path isDirectory:&isDirectory]) {
    if (isDirectory) {
        return pathURL;
    } else {
        // Handle error. ".data" is a file which should not be there...
        [NSException raise:@"'Private Documents' exists, and is a file" format:@"Path: %@", path];
    }
}
NSError *error = nil;
if (![[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error]) {

    [NSException raise:@"Failed creating …
Run Code Online (Sandbox Code Playgroud)

iphone app-store ios

5
推荐指数
1
解决办法
475
查看次数

在iOS 5应用程序中保存文件的位置?

我听说苹果改变了一些东西,关于iOS 5中的内存管理.那么最好的位置是什么,在我的新iOS 5应用程序中保存应用程序数据和文件 - 而不会丢失数据?

iphone caching objective-c ios ios5

2
推荐指数
1
解决办法
3801
查看次数