使用Apple托管核心数据IAP内容

时间:2016-03-29 06:00:52

标签: ios objective-c iphone sqlite core-data

我最初的应用内购买包含在主要包中,格式为Core Data / Sqlite文件。现在我希望Apple能够主持所有进一步的IAP。到目前为止,我已经在iTunes连接中完成了设置,成功下载了文件并将它们从缓存移动到了应用支持目录。:

    if ([fileManager moveItemAtPath:fullPathSrc toPath:fullPathDst error:&error] == NO) {
        NSLog(@"Error: unable to move item: %@", error);
    }

此时源路径为:

  

/private/var/mobile/Containers/Data/Application/54EBE737-AB3C-414D-ABE6-C472469431EF/Library/Caches/7AAD2581-5933-4ACF-BE5D-2F7FB134F914.zip/Contents/Packet5.sqlite

,目标路径为:

  

的/ var /移动/容器/数据/应用/ 54EBE737-AB3C-414D-ABE6-C472469431EF /库/应用程序   支持/下载/ Packet5.sqlite

看起来很好,直到我的Core Data类尝试访问sqlite文件,如下所示:

    NSURL *modelURL = [NSURL fileURLWithPath:(NSString *)packetLocator[currPacketNum]];  
// packetLocator[currPacketNum] contains the destination path above.

然后我收到以下错误消息:

  

CoreData:无法在路径中加载键控归档模型   “的/ var /移动/容器/数据/应用/ 54EBE737-AB3C-414D-ABE6-C472469431EF /库/应用程序   支持/下载/ Packet5.sqlite'

也许存在全球问题;即,是否有可能与Apple托管核心数据?有没有人成功托管过核心数据,或者知道解决此问题的方法?

1 个答案:

答案 0 :(得分:0)

我混淆了两种不同类型的核心数据文件,即描述数据项之间关系的“momd”数据模型文件,以及sqlite / json核心数据文件本身。每个配置只有一个“momd”文件 - 它在执行期间无法更改,并且它位于主捆绑包中。我正在检索模型文件,好像它是一个核心数据文件 - 哎呀!