2014-06-26 7 views
97

मैं एक ऐप बनाने के शुरुआती चरणों में हूं जहां मैं डेटा को सहेजना, सिंक करना और बैकअप करना चाहता हूं। ऐप डेटाबेस में किसी भी फाइल को सिर्फ डेटा स्टोर नहीं करेगा। यह आईओएस 8 और ऊपर होने वाला है इसलिए मैं क्लाउडकिट का उपयोग करने में सक्षम हूं। मैंने कुछ शोध किया और अभी भी स्पष्ट नहीं है कि कैसे कोर डेटा, iCloud और CloudKit एक साथ काम करते हैं।समन्वय और बैकअप के लिए कोर डेटा, iCloud और CloudKit का उपयोग करना और यह कैसे काम करता है

क्लाउडकिट क्लाउडकिट को क्लाउड से डेटा प्राप्त करने और पुनर्प्राप्त करने का एक तरीका है। क्लाउडकिट iCloud के साथ डेटा सिंक करने का एक अलग तरीका है?

मेरे प्रश्न हैं:

  1. अगर मैं CloudKit प्रयोग करते हैं, मैं अभी भी स्थानीय कोर डेटा डेटाबेस बनाने की जरूरत है?

    • यदि हां इसे स्वचालित रूप से iCloud के साथ सिंक किया जाएगा या मुझे दोनों स्थानों पर स्टोर करने के तरीकों को कॉल करना होगा?
  2. यदि डेटा केवल क्लाउड में संग्रहीत होता है तो उपयोगकर्ता आईओएस डिवाइस इंटरनेट से कनेक्ट नहीं होने पर इसे एक्सेस कर पाएगा। मैंने पढ़ा है कि क्लाउडकिट में केवल सीमित कैशिंग होगी।

  3. यदि iCloud खाता सक्षम नहीं है तो यह कैसे काम करेगा।

यदि कोई व्यक्ति कोर डेटा डेटाबेस को ऑफ़लाइन और ऑनलाइन सहेजने और समन्वयित करने की प्रक्रिया में प्रत्येक तकनीक को तोड़ने का तरीका तोड़ सकता है।

मेरे वर्तमान समझ है:

  • कोर डाटा स्थानीय स्तर पर

  • iCloud क्लाउड में डेटा और दुकानों

  • CloudKit स्टोर करने के लिए और क्षमता देता है सिंक करता है दुकान डेटा लिए किया जाता है बादल में डेटा का प्रबंधन ??

मुझे आशा है कि मैंने इस प्रश्न के लिए पर्याप्त जानकारी प्रदान की है कि वह बंद न हो।

+2

यहां तक ​​कि मैंने उस पर इतना अधिक शोध नहीं किया, लेकिन जितना मैंने समझा कि यह स्थानीय में स्टोर नहीं करता है। यह सामान्य सर्वर क्लाइंट सेवा की तरह कुछ है। Thats क्यों इंटरनेट के बिना आप अपने डीबी तक नहीं पहुंच सकते हैं। और डॉक के अनुसार यदि उपयोगकर्ता उस समय आईसीएलएड खाता सक्षम नहीं करता है तो आप केवल सार्वजनिक कंटेनर से डेटा पढ़ सकते हैं – Sachin

+0

@ यान हम ऐसा कर सकते हैं कृपया सुझाव दें, http://stackoverflow.com/questions/25600556/cloudkit-can -वे-एडिट-डेटा-ऑफ-पब्लिक-डाटाबेस – Nikunj

उत्तर

170

यह इस तरह है:

  • कोर अपने आप ही डाटा, पूरी तरह से स्थानीय है और स्वचालित रूप से एप्पल के क्लाउड सेवाओं से किसी के साथ काम नहीं करता।
  • कोर डेटा iCloud सक्षम iCloud के माध्यम से समन्वयन चालू करता है। कोर डेटा में सहेजे गए कोई भी परिवर्तन क्लाउड पर प्रचारित होते हैं, और क्लाउड में किए गए किसी भी बदलाव को स्वचालित रूप से डाउनलोड किया जाता है। डेटा iCloud में और स्थानीय लगातार स्टोर फ़ाइल में संग्रहीत किया जाता है, इसलिए डिवाइस ऑफ़लाइन होने पर भी उपलब्ध है। आपको किसी क्लाउड-विशिष्ट कोड को लिखने की आवश्यकता नहीं है, आपको केवल इनकमिंग परिवर्तनों को सुनने की आवश्यकता है (जो एक अलग प्रबंधित ऑब्जेक्ट संदर्भ पर किए गए परिवर्तनों की तरह है)।
  • क्लाउडकिट कोर डेटा से संबंधित नहीं है। यह सिंक सिस्टम नहीं है, यह एक स्थानांतरण प्रणाली है। मतलब यह है कि जब भी आप क्लाउड डेटा को पढ़ना/लिखना चाहते हैं, तो आपको ऐसा करने के लिए स्पष्ट क्लाउडकिट एपीआई कॉल करना होगा। कुछ भी स्वचालित रूप से नहीं होता है। क्लाउडकिट डिवाइस पर डेटा स्टोर नहीं करता है, इसलिए डिवाइस ऑफ़लाइन होने पर डेटा उपलब्ध नहीं है।क्लाउडकिट कुछ सुविधाओं को भी जोड़ता है जो iCloud के साथ कोर डेटा के लिए उपलब्ध नहीं हैं - जैसे सार्वजनिक साझा डेटा और पूरी चीज़ के बजाय डेटा सेट का केवल एक हिस्सा डाउनलोड करने की क्षमता।

आप कोर डेटा के साथ CloudKit उपयोग करना चाहता था, तो आप प्रबंधित वस्तुओं और CloudKit रिकॉर्ड के बीच अनुवाद करने अपने स्वयं के कस्टम कोड लिखने के लिए होगा। यह असंभव नहीं है, लेकिन यह लिखने के लिए और अधिक कोड है। यह अधिक विश्वसनीय हो सकता है लेकिन यह निश्चित रूप से कहने के लिए बहुत जल्द है।

मैंने a blog post लिखा है जो क्लाउडकिट को किसी ऐसे व्यक्ति के परिप्रेक्ष्य से वर्णित करता है जिसने अतीत में कोर डेटा और iCloud का उपयोग किया है।

अद्यतन, जून 2016: the most recent documentation for NSPersistentStoreCoordinator के अनुसार, iCloud के साथ कोर डेटा से संबंधित सबकुछ को बहिष्कृत के रूप में चिह्नित किया गया है। नतीजतन इसे नए विकास के लिए शायद टालना चाहिए।

+0

उत्तर देने के लिए आपको बहुत बहुत धन्यवाद। यही वह है जिसकी तलाश में मैं हूं। मैं बस सोच रहा हूं कि डेटा के किसी प्रकार का भ्रष्टाचार है, तो स्थानीय स्टोर को क्लाउड में दोहराया जा रहा है? स्थानीय और क्लाउडकिट दोनों में डेटा स्टोर करना सुरक्षित होगा लेकिन जैसा कि आपने कहा था सिंक और प्रबंधित करने का दर्द होगा। – Yan

+1

अतीत में मुझे आईक्लाउड के साथ कोर डेटा का उपयोग करते समय भ्रष्टाचार के साथ परेशानी हुई थी, लेकिन आईओएस 7 बाहर आने के बाद से मैंने इसका अधिक उपयोग नहीं किया है। यह बहुत बेहतर होना चाहिए। क्लाउडकिट के साथ यह कहना जल्दबाजी में है, क्योंकि यह अभी भी आधिकारिक तौर पर जारी नहीं किया गया है। –

+0

@TomHarrington हम ऐसा कर सकते हैं कृपया सुझाव दें, http://stackoverflow.com/questions/25600556/cloudkit-can-we-edit-data-of-public-डेटा – Nikunj

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