2015-10-22 34 views
0

我正在嘗試開發一個watchOS 2應用程序以與我的iOS應用程序一起使用。 iOS應用程序使用核心數據,Apple Watch應用程序僅僅是一個「只讀」客戶端,並顯示來自iOS應用程序的數據。將核心數據對象發送到「只讀」Apple Watch App

我已經閱讀了關於管理兩個數據存儲的一些事情,但似乎是矯枉過正。我只想在啓動時將數據傳輸到手錶應用程序,然後在手機上發生變化時發送後臺傳輸。

我的問題是如何最初將這些信息發送到手錶應用程序?我不認爲我可以將實際的數據對象發送到手錶應用程序。我是否需要將對象轉換爲字典並通過WatchConnectivity API發送所有相關信息?

回答

0

您的方法聽起來不錯。如果您不玩遊戲來更改手錶上的數據,那麼在您的手錶應用程序上鏡像CoreData數據庫確實會過度。

因此,使用應用程序上下文通過後臺傳輸發送數據是正確的選擇。這隻有一個警告:用於傳輸數據的updateApplicationContext方法只接受屬性列表值的字典。換句話說,你只能發送,你可以添加到屬性列表對象:

  • 陣列
  • 字典
  • 字符串
  • 數據(NSData的)
  • 日期(NSDate的)
  • 整數
  • 浮點值
  • 布爾型

因此,在發送它們之前,您必須將Core Data對象轉換爲僅包含這些類型的字典。

這是一個努力,但即使您想在觀察方面鏡像數據庫,您也必須這樣做,因爲使用watchOS2時不能再使用應用程序組來共享CoreData文件。