2013-03-15 51 views
0

在我的項目中,我將UIManagedDocument與CoreData和iCloud一起使用。在iCloud中創建UIManagedDocument時似乎有很多錯誤 - 特別是當沒有網絡服務時。在iCloud中創建UIManagedDocument時出現錯誤/崩潰

但現在我得到的網絡服務(還帶wifi)一些奇怪的錯誤/應用程序崩潰保存文檔創造時:

-[PFUbiquitySetupAssistant validateOptionsWithError:](262): CoreData: Ubiquity: Error attempting to read ubiquity root url: file://localhost/private/var/mobile/Library/Mobile%20Documents/XXXXXXXXXX~com~companyname~AppName/TransactionsFolder/. 
Error: Error Domain=LibrarianErrorDomain Code=1 "The operation couldn’t be completed. (LibrarianErrorDomain error 1 - Unable to initiate item download.)" UserInfo=0x1f56d140 {NSURL=file://localhost/private/var/mobile/Library/Mobile%20Documents/XXXXXXXXXX~com~companyname~AppName/TransactionsFolder/, NSUnderlyingError=0x1d89b4a0 "The operation couldn’t be completed. (UBErrorDomain error 0.)", NSDescription=Unable to initiate item download.} 
userInfo: { 
NSDescription = "Unable to initiate item download."; 
NSURL = "file://localhost/private/var/mobile/Library/Mobile%20Documents/XXXXXXXXXX~com~companyname~AppName/TransactionsFolder/"; 
NSUnderlyingError = "Error Domain=UBErrorDomain Code=0 \"The operation couldn\U2019t be completed. (UBErrorDomain error 0.)\""; 
} 

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This NSPersistentStoreCoordinator has no persistent stores. It cannot perform a save operation.' 
*** First throw call stack: 

它說,從事務日誌文件夾中下載操作不能完成。我無法理解這個應用程序應該創建一個文件,而不是下載任何東西。

btw應用程序的iCloud文件夾是空的!

從設備上刪除iCloud帳戶並再次登錄也沒有幫助。該設備是運行iOS 6的iPhone 4S。

任何人都有類似經歷?

編輯:現在

,後缺失的一些hundrets和重建我得到的同一設備上的不同的錯誤:

-[PFUbiquitySafeSaveFile waitForFileToUpload:](268): CoreData: Ubiquity: <PFUbiquityPeerReceipt: ...>(0) 
permanentLocation: <PFUbiquityLocation: ...>: /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~com~companyname~AppName/TransactionsFolder/mobile.XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Document/Q0_AoYZV8MTbAihmdWBiEFhxmCgziT9RyrvylTHgQP4=/receipt.0.cdt 
safeLocation: <PFUbiquityLocation: ...>: /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~com~companyname~AppName/TransactionsFolder/mobile.XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Document/Q0_AoYZV8MTbAihmdWBiEFhxmCgziT9RyrvylTHgQP4=/mobile.XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.0.cdt 
currentLocation: <PFUbiquityLocation: ...>: /private/var/mobile/Library/Mobile Documents/XXXXXXXXXX~com~companyname~AppName/TransactionsFolder/mobile.XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Document/Q0_AoYZV8MTbAihmdWBiEFhxmCgziT9RyrvylTHgQP4=/mobile.XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.0.cdt 

kv: (null) 

Safe save failed for file, error: Error Domain=NSCocoaErrorDomain Code=512 "The file upload timed out." UserInfo=0x1de36dc0 {NSLocalizedDescription=The file upload timed out.} 
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This NSPersistentStoreCoordinator has no persistent stores. It cannot perform a save operation.' 
*** First throw call stack: 

不知怎的,好像該裝置具有iCloud服務無法訪問即使它得到一個iCloud令牌和可達性很好...

回答

1

是的,我已經有非常類似的經驗。這些是Core Data的iCloud集成中的內部錯誤。他們並不意味着你做錯任何事情,並且你無法通過代碼來修復它們。你是對的 - 你沒有在你的代碼中下載任何東西,但核心數據試圖在幕後進行,並失敗。這完全不在你的掌控之中。

第一個錯誤說明框架無法下載現有的事務文件。有可能沒有,但它甚至不能說。第二個錯誤說它無法創建任何新的事務文件。你是對的 - 即使API說你這樣做,你也無法訪問iCloud。

可能通過在設置 - > iCloud中找到您的應用程序並刪除任何數據,從設備上刪除您的應用程序,犧牲一隻雞,然後重試。但問題又回來了。用蘋果文件bug,並希望它得到修復。

+0

很好,我很害怕得到這個答案的;)有了這個設備沒有犧牲幫助 - 我刪除了完整的iCloud帳戶並重新添加它 - 沒有成功。我會提交一個錯誤,但實際上這個錯誤是不可重現的(尤其是因爲沒有明顯的原因,爲什麼設備無法訪問iCloud)... – FrankZp 2013-03-16 09:51:44

+0

還有一個問題:這些內部錯誤只與UIManagedDocument/Core Data& iCloud還是UIDocument&iCloud?因爲那麼離開UIManagedDocument並使用UIDocument設計另一個模式將是另一種選擇。 – FrankZp 2013-03-16 14:33:05

+0

我正在專門討論Core Data內置於iCloud支持中的錯誤,因此它們不適用於Uidocument。但是,UIDocument有自己的問題需要處理。無論如何,我建議提交錯誤信息,包括錯誤信息,因爲他們知道這樣的問題,並且錯誤部分取決於有多少人爲他們提交了問題。 – 2013-03-16 15:14:26

0

如果你有拒絕同步你重置其iCloud的數據後的設備,嘗試通過設置>一般>重置所有設置重置所有設置。此方法不會刪除任何應用程序數據,並且可以解決嘗試讀取無處不在根URL錯誤消息的錯誤。

0

我知道這是老了,但我一直在追逐一個類似的問題,也許下面將幫助他人:

在我來說,我得到這個刪除iCould數據和正在開發的應用程序,並從頭開始重建之後。完全關閉並重新啓動設備似乎可以解決這個問題 - 不知道爲什麼,也許Timbo的「重置所有設置」會執行同樣的操作 - 但這種方式也不會丟失其他應用程序設置。

阿里