2013-01-13 51 views
0

我們已經完成了一個使用coredata的iPhone應用程序的編寫。 在更多版本中,我們計劃添加一個iPad應用程序,該應用程序能夠顯示iPhone應用程序(以及corse修改,使用它)收集的數據,以便爲用戶提供更多交互功能。Coredata iPhone到iPad/Mac與iCloud?

我的問題是:是否可以將現有的coredata(已安裝的iphones應用程序)移動到雲端並使用iPad應用程序讀取數據?

如果是:你能指出我從哪裏開始的正確方向嗎?

如果否:是否有另一種方法可以通過iPad應用程序訪問使用iPhone應用程序創建的coredata?

+0

爲什麼不把它變成一個通用的應用程序?那麼沒有什麼可以移動的。 iPad上的應用程序將自動從iPhone或iPod上使用的同一個無處不在的商店中檢索用戶的數據。 –

+0

我認爲這是錯誤的 - 我們當然希望使其具有普遍性,而不是爲ipad製作全新的應用程序。然而,它是否像你所建議的那樣簡單?或者從coredata(物理)過渡到coredata(雲)會有很多問題? –

回答

3

當使用Core Data內置的iCloud支持時,無論您處於何種類型的設備中,只要核心數據堆棧以相同方式初始化即可。任何iOS設備或Mac都可以使用同一個iCloud存儲,並且可以在另一個上讀取其中創建的數據。

儘管一個關鍵細節:如果您已經擁有數據存儲並且添加了iCloud支持,那麼這些預先存在的記錄不會自動遷移到雲中。 iCloud基於事務日誌工作,事務日誌僅在保存更改時創建。不立即更改的現有數據不會生成事務,因此不會轉到雲。

如果您在添加iCloud時擁有現有數據,則需要將數據遷移到新的數據存儲以強制處理這些現有記錄的事務。你可以用NSPersistentStoreCoordinatormigratePersistentStore:toURL:options:withType:error:方法很容易地做到這一點。這並不難,但它並不總是顯而易見的。

要開始使用,我首先建議您觀看iCloud上的Apple WWDC視頻 - 尤其是WWDC 2012的會話227,使用帶有Core Data的iCloud。接下來,我建議極端的小心,因爲截至今天,Core Data的iCloud支持仍然是,我們應該說,遠不是最可靠的Apple API。

+0

非常感謝:)我會離開這裏! –