2012-12-31 17 views
8

का उपयोग करके मैंने Core Data और iCloud (जादुई रिकॉर्ड्स का उपयोग करके) का उपयोग करने के लिए एक ऐप परीक्षण शुरू किया। Provisioning Profiles और एंटाइटेलमेंट को कॉन्फ़िगर करने के लिए कई परेशानी के बाद, ऐप अंत में चलता है। कुछ समय बाद ऐप क्रैश हो जाता है और इस संदेश ::iCloud टाइम आउट। (iCloud + कोर डेटा + जादुई रिकॉर्ड

2012-12-31 03:42:07.079 iCloudTest[252:1103] -[PFUbiquitySafeSaveFile waitForFileToUpload:](268): CoreData: Ubiquity: <PFUbiquityPeerReceipt: 0x1cd5a420>(0) 
permanentLocation: <PFUbiquityLocation: 0x1cd57b30>: /private/var/mobile/Library/Mobile Documents/MA5BADG5AW~com~gazapps~iCloudTest/mobile.4088E03C-763E-5A81-BB1B-64CABAFA73E3/com.gazapps.iCloudTest/v8GumdiUYmkE0aO9iGtPTPHX07qqWk7kRytsQwHKjwU=/receipt.0.cdt 
safeLocation: <PFUbiquityLocation: 0x1cd57a80>: /private/var/mobile/Library/Mobile Documents/MA5BADG5AW~com~gazapps~iCloudTest/mobile.4088E03C-763E-5A81-BB1B-64CABAFA73E3/com.gazapps.iCloudTest/v8GumdiUYmkE0aO9iGtPTPHX07qqWk7kRytsQwHKjwU=/mobile.4088E03C-763E-5A81-BB1B-64CABAFA73E3.0.cdt 
currentLocation: <PFUbiquityLocation: 0x1cd57a80>: /private/var/mobile/Library/Mobile Documents/MA5BADG5AW~com~gazapps~iCloudTest/mobile.4088E03C-763E-5A81-BB1B-64CABAFA73E3/com.gazapps.iCloudTest/v8GumdiUYmkE0aO9iGtPTPHX07qqWk7kRytsQwHKjwU=/mobile.4088E03C-763E-5A81-BB1B-64CABAFA73E3.0.cdt 

kv: (null) 

Safe save failed for file, error: Error Domain=NSCocoaErrorDomain Code=512 "The file upload timed out." UserInfo=0x1cd5b7d0 {NSLocalizedDescription=The file upload timed out.} 
2012-12-31 03:42:07.083 iCloudTest[252:1103] +[MagicalRecord(ErrorHandling) defaultErrorHandler:](0xe5ac0) Error: The file upload timed out. 
2012-12-31 03:42:07.085 iCloudTest[252:1103] +[MagicalRecord(ErrorHandling) defaultErrorHandler:](0xe5ac0) Error Message: The file upload timed out. 
2012-12-31 03:42:07.086 iCloudTest[252:1103] +[MagicalRecord(ErrorHandling) defaultErrorHandler:](0xe5ac0) Error Domain: NSCocoaErrorDomain 
2012-12-31 03:42:07.087 iCloudTest[252:1103] +[MagicalRecord(ErrorHandling) defaultErrorHandler:](0xe5ac0) Recovery Suggestion: (null) 
2012-12-31 03:42:07.089 iCloudTest[252:907] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array' 
*** First throw call stack: 
(0x3a7702a3 0x3465f97f 0x3a6bae8d 0xdd453 0x38a6311f 0x38a624b7 0x38a671bd 0x3a743f3b 0x3a6b6ebd 0x3a6b6d49 0x38a842eb 0x338f62f9 0xd101d 0x37f22b20) 
libc++abi.dylib: terminate called throwing an exception 

मैं सेटअप कोर डाटा ढेर करने के लिए इस विधि का इस्तेमाल किया फेंक:

[MagicalRecord setupCoreDataStackWithiCloudContainer:@"XXXXXXXX.com.gazapps.iCloudTest" localStoreNamed:@"PersonDB.sqlite"]; 

किसी को भी कभी भी इस समस्या थी

Enviroment: 
OSX 10.8.2, 
Xcode 4.5.2, 
app -> iOS 6, 
device -> iPhone 4S 

उत्तर

13

हां, मुझे याद रखने की तुलना में अधिक बार।

इसका क्या अर्थ है कि कोर डेटा के आंतरिक कुछ अस्पष्ट और अनियंत्रित तरीके से iCloud से कनेक्ट करने में विफल रहे। कोई पुनर्प्राप्ति पथ या ठीक नहीं है - आप बस बाद में पुनः प्रयास करें। वे त्रुटियां जादुई रिकॉर्ड या आपके कोड से नहीं आती हैं, वे एक आंतरिक कोर डेटा/iCloud विफलता हैं।

यहां बात है: इसका मतलब यह नहीं है कि आपने कुछ गलत किया है। और उस का सारांश है, को ठीक करने के लिए आप कुछ भी नहीं कर सकते हैं। कोर डेटा के साथ iCloud का उपयोग करते समय, यह कभी-कभी होता है, और आपको बस इससे निपटना होगा। एक बग फाइल करें और जो कुछ भी भगवान या देवताओं पर विश्वास करते हैं, उन्हें प्रार्थना करें कि वे इसे ठीक कर दें। ICloud के साथ कोर डेटा केवल मौलिक रूप से flaky है और आप सबसे मज़ेदार भागों में से एक का सामना कर रहे हैं।

कभी-कभी यह कॉल को फिर से करने में मदद करता है। लेकिन जादुई रिकॉर्ड void देता है, इसलिए कोड में विफलता का पता लगाना उतना आसान नहीं है जितना आप उम्मीद कर सकते हैं।

परीक्षण के दौरान, साफ शुरू करने के लिए iCloud से आपके सभी ऐप के डेटा को हटाने में मदद कर सकता है। आप सेटिंग में आईओएस में यह करते हैं -> iCloud -> स्टोरेज & बैकअप -> संग्रहण प्रबंधित करें -> (आपका ऐप नाम यहां) -> संपादित करें -> सभी हटाएं। क्लाउड में मौजूद क्या है यह देखने के लिए http://developer.icloud.com/ देखें। साथ ही, जब आपको समस्याएं आ रही हैं, तो डिवाइस से अपना ऐप हटाना सुनिश्चित करें ताकि कोई पुराना डेटा आस-पास न हो।

+0

मैं इसे बाद में कोशिश करूंगा। बहुत बहुत धन्यवाद, टॉम! – Sebastian

+0

टॉम, क्या आप iCloud + CoreData के किसी भी विकल्प को जानते थे? – Sebastian

+1

हां लेकिन कोई भी जिसे मैंने गंभीरता से उपयोग नहीं किया है। Http://www.wasabisync.com और https://simperium.com देखें, जिनमें से दोनों कोर डेटा के साथ काम करते हैं। ड्रॉपबॉक्स का एपीआई भी है, लेकिन यह कोर डेटा के साथ सीधे काम नहीं करेगा। –

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