簡體   English   中英

將iOS / Mac應用程序與dame數據模型同步?

[英]Sync iOS / Mac app with dame data model?

我創建了一個使用核心數據(基本上是待辦事項列表)的iOS應用。

我想創建一個OS X應用程序,該應用程序還將顯示待辦事項列表並與iOS設備同步。 我對iCloud atm不感興趣(同步將使用藍牙/內部網絡),但是如果以后可以啟用它會很好。

目前,我對OS X的開發幾乎一無所知,但發現可以使用基於文檔的應用程序和核心數據。 但是我必須復制iOS應用程序的xcdatamodel。 有什么方法可以共享數據模型? 是否可能需要使用與核心數據不同的內容? 我不想保留2個確切的副本...我也不想使用3d派對庫(盡管歡迎提出建議作為評論)。 可能可以使用腳本解決此問題,但我想知道是否有更好的方法。

因此,問題是如何避免復制您的xcdatamodel,並且在您的iOS或OS X XCode項目/工作區中只有一個版本化的xcdatamodel並與另一個共享?

無論何時更改模型,都可以使用momc工具並將“ xcdatamodel”文件編譯為“ momd”文件。 iOS / OS X App將在運行時僅加載“ momd”文件。 編譯步驟如下所示:

/Applications/Xcode.app/Contents/Developer/usr/bin/momc <your project folder>/MyApplication/MyApplication/MyApplication.xcdatamodeld/MyApplication.xcdatamodel <your destination folder>/my.momd

現在,在應用程序的XCode項目中添加“ my.momd”作為新的捆綁包資源,而沒有自己的模型。 選擇目標設置,轉到“構建階段”,轉到“復制捆綁資源”並添加“ my.momd”。

您需要相應地更改代碼:

NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"my" withExtension:@"momd"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];

當然,“。xcdatamodeld”文件夾可以從應用程序項目中刪除,而無需使用其自身的模型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM