Как мне использовать ресурсы в CloudKit?

#ios #icloud #assets #cloudkit

#iOS #icloud #ресурсы #cloudkit

Вопрос:

Я пытаюсь использовать CloudKit с активами.

Я создал RecordType, который включает ресурс в панель управления разработчика iCloud.

Затем я создал запись в зоне по умолчанию общедоступной базы данных и загрузил файл в ресурс записи.

Я написал этот код, чтобы получить запись.

 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__)> содержит элементы, требующие шифрования, но в записи не найдено данных защиты»>

Что такое «защита данных»? Должен ли я шифровать данные перед загрузкой?

Комментарии:

1. Я получаю это для записей, созданных в частной базе данных через панель мониторинга, но не для записей, созданных в общедоступной базе данных через панель мониторинга. Я отправил ошибку 23456032: CKAsset, загруженный через панель управления CloudKit, не загружается в приложение. с Apple.

Ответ №1:

Вы загружали данные с помощью веб-консоли? Я тоже испытал это, когда делал это. До сих пор моим обходным путем было загружать ресурсы с помощью устройства, а затем использовать их в обычном режиме.