खोज…
टिप्पणियों
समर्थित प्रकार
- NSData
- NSDate (दिनांक)
- NSNumber (इंट / डबल)
- NSString (स्ट्रिंग)
- NSArray (ऐरे)
- CLLocation
- CKReference
- CKAsset
CloudKit के साथ उपयोग करने के लिए पंजीकरण ऐप
आपको एक एंटाइटेलमेंट फ़ाइल प्राप्त करने की आवश्यकता है ताकि ऐप आपके iCloud तक पहुंच सके और CloudKit का उपयोग करके रिकॉर्ड लिख सके।
अपने ऐप से iCloud तक पहुंच प्रदान करने के लिए चरणों का पालन करें:
1- प्रोजेक्ट नेविगेटर में प्रोजेक्ट का चयन करें, और फिर जनरल टैब खोलें।
2- आइडेंटिटी सेक्शन में, अपने डेवलपर Apple ID को टीम ड्रॉपडाउन मेनू पर सेट करें। (यदि यह उपलब्ध नहीं है, तो इसे Xcode मेनू में जोड़ें -> वरीयताएँ -> खाते।
3- प्रोजेक्ट प्रॉपर्टीज में क्षमताओं टैब पर जाएं और iCloud चालू करें। फिर, "की-वैल्यू स्टोरेज" और "क्लाउडकिट" चुनें।
4- सुनिश्चित करें कि ये आइटम चेक किए गए हैं:
यदि सभी आइटम चेक किए गए हैं, तो आपका ऐप CloudKit का उपयोग करने के लिए तैयार है।
CloudKit डैशबोर्ड का उपयोग करना
CloudKit से संबंधित कोड का उपयोग करके बनाए गए सभी रिकॉर्ड पूर्वावलोकन, संपादित और यहां तक कि CloudKit डैशबोर्ड में निकाले जा सकते हैं। CloudKit डैशबोर्ड तक पहुंचने के लिए, यहां जाएं ।
डैशबोर्ड में कई भाग हैं:
- रिकॉर्ड प्रकार (जिसकी चर्चा बाद में की जाएगी)
- सुरक्षा भूमिकाएँ (जो आप सार्वजनिक या निजी रूप से डेटाबेस सेट कर सकते हैं)
- सदस्यता प्रकार (जो आपका ऐप Apple पुश नोटिफिकेशन (APNs) के लिए रजिस्टर कर सकता है जब एक रिकॉर्ड बदल जाता है तो आपको सूचित करने के लिए)
रिकॉर्ड प्रकार
यहां, आपको ऐप में सभी मौजूदा रिकॉर्ड प्रकारों की एक सूची मिलती है। जब आप पहली बार किसी ऐप के लिए CloudKit डैशबोर्ड खोलते हैं, तो वहां एक रिकॉर्ड प्रकार होता है, जिसे उपयोगकर्ता वहां कहते हैं, जिसे आप इसका उपयोग कर सकते हैं या बस इसे हटा सकते हैं और अपने स्वयं के उपयोग कर सकते हैं।
इस पृष्ठ में, आप अपने डेटा को मैन्युअल रूप से टाइप कर सकते हैं। बेशक, ज्यादातर मामलों में यह बेकार है, क्योंकि आईओएस एसडीके इसे डैशबोर्ड से बेहतर तरीके से संभाल सकता है, लेकिन अगर आप चाहें तो कार्यक्षमता भी है। इस पृष्ठ का सबसे अधिक उपयोग पूर्वावलोकन प्रकारों के लिए है।
CloudKit में डेटा सहेजना
CloudKit को दिनांक सहेजने के लिए, हमें बनाना होगा:
- एक
CKRecordID
(आपके अनूठे रिकॉर्ड की कुंजी) - एक
CKRecord
(जिसमें डेटा शामिल है)
रिकॉर्ड की बनाना
यह सुनिश्चित करने के लिए कि प्रत्येक नया रिकॉर्ड पहचानकर्ता अद्वितीय है, हम वर्तमान टाइमस्टैम्प का उपयोग करते हैं, जो अद्वितीय है। हम का उपयोग कर टाइमस्टैम्प प्राप्त NSDate
की विधि timeIntervalSinceReferenceDate()
यह ###। ### (# नंबर हैं) के रूप में है, जिसे हम पूर्णांक भाग का उपयोग करेंगे। ऐसा करने के लिए, हम स्ट्रिंग को विभाजित करते हैं:
तीव्र
let timestamp = String(format: "%f", NSDate.timeIntervalSinceReferenceDate())
let timestampParts = timestamp.componentsSeparatedByString(".")
let recordID = CKRecordID(recordName: timestampParts[0])
रिकॉर्ड बना रहा है
रिकॉर्ड बनाने के लिए, हमें उपयोगकर्ता के रूप में रिकॉर्ड प्रकार (क्लाउडकिट डैशबोर्ड का उपयोग करके समझाया गया है) को निर्दिष्ट करना चाहिए, जिस आईडी को हमने अभी बनाया है और डेटा। यहां, हम एक नमूना पाठ, एक चित्र और वर्तमान तिथि को रिकॉर्ड में जोड़ देंगे:
तीव्र
let record = CKRecord(recordType: "Users", recordID: recordID)
record.setObject("Some Text", forKey: "text")
record.setObject(CKAsset(fileURL: someValidImageURL), forKey: "image")
record.setObject(NSDate(), forKey: "date")
उद्देश्य सी
CKRecord *record = [[CKRecord alloc] initWithRecordType: "Users" recordID: recordID];
[record setObject: "Some Text" forKey: "text"];
[record setObject: [CKAsset assetWithFileURL: someValidImageURL] forKey: "image"];
[record setObject: [[NSDate alloc] init] forKey: "date"];
ध्यान दें
यहाँ, हमने
UIImage
सीधे रिकॉर्ड में नहीं जोड़ा, क्योंकि जैसा कि रिमार्क्स में उल्लेख किया गया है, छवि प्रारूप सीधे CloudKit में समर्थित नहीं है, इसलिए हमनेUIImage
कोCKAsset
में परिवर्तित करCKAsset
।
कंटेनर तक पहुंचना
तीव्र
let container = CKContainer.defaultContainer()
let database = container.privateCloudDatabase // or container.publicCloudDatabase
CloudKit डेटाबेस के रिकॉर्ड को सहेजना
तीव्र
database.saveRecord(record, completionHandler: { (_, error) -> Void in
print(error ?? "")
})