2015-01-07 7 views
5

मैं NSData रूप CloudKit के लिए एक चित्र अपलोड करने के लिए, और की दुकान यह कोशिश की, लेकिन एक अपेक्षाकृत बड़ी तस्वीर, कैमरे से खींची साथ, मैं इस त्रुटि मिलती है:क्लाउडकिट में बड़ी छवि कैसे स्टोर करें?

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 < -

उत्तर

8

काम नहीं करता है आप एक CKAsset के रूप में चित्रों को संग्रहीत करना चाहिए। एक सीकेआरकॉर्ड के लिए एक आकार सीमा है। सीकेएसेट के लिए नहीं है (क्लाउडकिट स्टोरेज सीमाओं के बगल में)।

Use assets for discrete data files. When you want to associate images or other discrete files with a record, use a CKAsset object to do so. The total size of a record’s data is limited to 1 MB though assets do not count against that limit.

आप इस प्रकार का CKAsset बना सकते हैं::

var File : CKAsset = CKAsset(fileURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("image-not-available", ofType: "jpg")!)) 
+2

[एप्पल] से (https://developer.apple.com/library/prerelease/ios/documentation/CloudKit प्रलेखन के अनुसार /Reference/CKAsset_class/index.html): * किसी संपत्ति ऑब्जेक्ट का उपयोग करके सहेजी गई फ़ाइलों या डेटा को 250 एमबी से बड़ा नहीं होना चाहिए। * – Mojo66

+0

क्या किसी छवि से URL बनाने का कोई तरीका है? मेरे पास उपयोगकर्ता ऐप के भीतर छवि को क्लिक करने या UIImagePickerController का उपयोग करने के बीच चयन करता है। – penatheboss

संबंधित मुद्दे