Как сохранить большое изображение в CloudKit?
Я пытался загрузить картинку в CloudKit
и сохранить его как NSData
, но с относительно большим снимком, сделанным камерой, я получаю эту ошибку:
Error saving record <CKRecordID: 0x15998770; 04359DFA-8370-4000-9F53-5694FC53FA9C:(_defaultZone:__defaultOwner__)> to server: record too large id=04359DFA-8370-4000-9F53-5694FC53FA9C of type UserSetting
Какой максимальный размер данных может храниться в CloudKit
?
Как вы храните большие изображения, сделанные с помощью камеры в CloudKit
?
Я попробовал с двумя изображениями, и я изобразил их размер.
let d = UIImagePNGRepresentation(image)
println("d.length: \(d.length)")
d.length: 55482
<- работаетd.length: 17614327
<- не работает
1 ответ
Вы должны хранить фотографии как CKAsset. Для CKRecord есть ограничение по размеру. Для CKAsset нет (кроме ограничений хранения CloudKit). Согласно документации:
Используйте активы для отдельных файлов данных. Если вы хотите связать изображения или другие дискретные файлы с записью, используйте для этого объект CKAsset. Общий размер данных записи ограничен 1 МБ, хотя активы не учитываются в этом ограничении.
Вы можете создать CKAsset следующим образом:
var File : CKAsset = CKAsset(fileURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("image-not-available", ofType: "jpg")!))