我该如何在CloudKit中使用资产?

8

我正在尝试使用CloudKit来处理资产。

我在iCloud开发者仪表板中创建了一个包含资产的RecordType。

然后,我在公共数据库的默认区域中创建了一条记录,并将文件上传到记录的资产中。

我编写了以下代码以获取该记录:

CKContainer *defaultContainer =[CKContainer defaultContainer];
CKDatabase *publicDatabase = [defaultContainer publicCloudDatabase];
CKRecordID *wellKnownID = [[CKRecordID alloc]
                           initWithRecordName:@"RECORDKEY"];

[publicDatabase fetchRecordWithID:wellKnownID
                completionHandler:^(CKRecord *fetchedParty, NSError *error) {
                    NSLog(@"erorr : %@", error)
                }];

我收到了这个错误信息。

2014-06-28 21:42:50.148 AppName[10634:1068121] 错误: <CKError 0xc81b4a0: "内部错误" (1/5001); "记录 <CKRecordID: 0xc035b50; RECORDKEY:(_defaultZone:__defaultOwner__)>包含需要加密的项,但在记录上找不到保护数据">

"保护数据"是什么?上传前应该加密数据吗?


我在仪表板上通过私有数据库创建的记录中遇到了这个问题,但是在通过仪表板创建的公共数据库记录中没有出现这个问题。我已向苹果公司报告了错误编号23456032:通过CloudKit仪表板上传的CKAsset无法在应用程序中下载。 - adamek
1个回答

2
你是否使用网页控制台上传数据?我在这方面也遇到过类似的问题。目前我的解决方法是使用设备上传资源,然后像往常一样使用它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接