2012-12-31 33 views
8

Tôi đã bắt đầu thử nghiệm ứng dụng để sử dụng Core DataiCloud (sử dụng Bản ghi Magical). Sau rất nhiều khó khăn để cấu hình Provisioning Profiles và Quyền, ứng dụng cuối cùng sẽ chạy. ném bài này ::iCloud Hết giờ. (sử dụng iCloud + Core Data + Magical Record

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 

tôi đã sử dụng phương pháp này để thiết lập Core Data stack:?

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

Bất cứ ai cũng từng có vấn đề này

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

Trả lời

13

Có, nhiều lần hơn tôi quan tâm để nhớ lại.

Điều này có nghĩa là nội dung của Dữ liệu cốt lõi không kết nối được với iCloud theo một số cách không rõ ràng và không có giấy tờ. Không có đường khôi phục hoặc sửa chữa-- bạn chỉ cần thử lại sau. Những lỗi này không đến từ Magical Record hoặc mã của bạn, chúng là một lỗi Core Data/iCloud nội bộ.

Đây là điều: Điều này không có nghĩa là bạn đã làm điều gì đó sai. Và hệ quả của điều đó là, không có gì bạn có thể làm để sửa chữa nó. Khi sử dụng iCloud với Dữ liệu cốt lõi, điều này chỉ xảy ra đôi khi và bạn chỉ phải đối phó với điều đó. Nộp một lỗi và cầu nguyện bất cứ điều gì thần hoặc thần bạn tin rằng họ sửa chữa nó một ngày nào đó. Dữ liệu cốt lõi với iCloud cơ bản là không ổn định và bạn đang gặp phải một trong những phần khó chịu nhất.

Đôi khi nó chỉ giúp thử gọi lại. Nhưng Magical Record trả về void, vì vậy việc phát hiện lỗi trong mã không đơn giản như bạn có thể hy vọng.

Trong khi thử nghiệm, nó có thể giúp xóa tất cả dữ liệu ứng dụng của bạn khỏi iCloud, để bắt đầu xóa. Bạn thực hiện việc này trong iOS tại Cài đặt -> iCloud -> Lưu trữ & Sao lưu -> Quản lý bộ nhớ -> (tên ứng dụng của bạn ở đây) -> Chỉnh sửa -> Xóa tất cả. Ngoài ra, hãy nhớ xem http://developer.icloud.com/ để xem những gì hiện diện trong đám mây. Ngoài ra, khi bạn gặp sự cố, hãy nhớ xóa ứng dụng của bạn khỏi thiết bị để không có dữ liệu cũ nào đang được đặt xung quanh.

+0

Tôi sẽ thử sau. Cảm ơn rất nhiều, Tom! – Sebastian

+0

Tom, Bạn có biết bất kỳ giải pháp thay thế nào cho iCloud + CoreData không? – Sebastian

+1

Có nhưng không có gì tôi đã sử dụng nghiêm túc. Xem http://www.wasabisync.com và https://simperium.com, cả hai đều hoạt động với Dữ liệu cốt lõi. Ngoài ra còn có API của Dropbox, nhưng nó sẽ không hoạt động trực tiếp với Core Data. –

Các vấn đề liên quan