共用方式為


在 Xamarin 中安裝和使用 watchOS

watchOS 4 需要具有 Xcode 9 的 macOS Sierra (10.12)。

watchOS 1 原本需要 OS X Yosemite (10.10) 與 Xcode 7。

警告

watchOS 1 更新將不會在 2018 年 4 月 1 日之後接受。 未來的更新必須使用 watchOS 2 SDK 或更新版本;建議使用 watchOS 4 SDK 建置。

專案結構

監看應用程式包含三個專案:

  • Xamarin.iOS i 電話 應用程式專案 - 這是一般的 i 電話 專案,它可以是任何 Xamarin.iOS 範本。 監看式應用程式及其延伸模組將會配套在此主要專案內。

  • 監看延伸模組專案 - 這包含監看式應用程式的程式代碼(例如控制器類別)。

  • 監看應用程式專案 - 其中包含使用者介面分鏡腳本檔案,其中包含監看應用程式的所有 UI 資源。

Xamarin.Studio 中的範例解決方案看起來像這樣:

您可以在 [控件] 頁面上找到範例中的畫面。

建立新專案

您無法建立新的「監看方案」...相反地,您可以將監看式應用程式新增至現有的 iOS 應用程式。 請遵循下列步驟來建立監看應用程式:

  1. 如果您沒有現有的專案,請先選擇 [檔案 > 新方案 ] 並建立 iOS 應用程式(例如單一 檢視應用程式):

    選擇 [檔案 > 新解決方案] 並建立 iOS 應用程式

  2. 建立 iOS 應用程式之後(或您打算使用現有的 iOS 應用程式),以滑鼠右鍵按兩下方案,然後選擇 [ 新增 > 專案]。在 [ 新增專案] 視窗中,選取 watchOS > 應用程式 > WatchKit 應用程式

    選取 watchOS > 應用程式 > WatchKit 應用程式

  3. 下一個畫面可讓您選擇哪個 iOS 應用程式項目應該包含監看應用程式:

    選擇哪個 iOS 應用程式項目應該包含監看應用程式

  4. 最後,選擇儲存專案的位置(並選擇性啟用原始檔控制):

    選擇要儲存專案的位置

  5. Visual Studio for Mac 會自動為您設定 項目參考和 Info.plist 設定

建立監看式用戶介面

使用 Xamarin iOS 設計工具

按兩下監看應用程式的 Interface.storyboard ,以使用iOS設計工具進行編輯。 您可以從 [工具箱] 將介面控制器和 UI 控件拖曳到分鏡腳本並使用 [屬性] 面板進行設定:

您應該選取每個新的介面控制器一個類別,然後在 Properties pad 中輸入名稱(這會自動建立必要的 C# 程式代碼後置檔案):

Ctrl + 將按鈕、數據表或介面控制器拖曳至另一個介面控制器,以建立 segue

在 Mac 上使用 Xcode

您可以繼續使用 Xcode 來建置使用者介面,方法是以滑鼠右鍵按兩下 Interface.storyboard 檔案,然後選取 [ 以 > Xcode 介面產生器開啟]:

在 Xcode Interface Builder 中開啟 Interface.storyboard

如果使用 Xcode,則您應該遵循與一般 iOS 應用程式分鏡腳本 相同的監看應用程式步驟(例如透過 Ctrl+拖曳.h 頭檔建立輸出和動作)。

當您將分鏡腳本儲存在 Xcode Interface Builder 中時,它會自動將您建立的輸出和動作新增至監看式延伸模組專案中的 C# .designer.cs 檔案。

在 Xcode 中新增其他畫面

當您使用 Xcode 介面產生器 將其他畫面(超出預設包含在範本中的內容)新增至腳本時,您必須為每個新的介面控制器手動新增 C# 程式代碼檔案

請參閱如何將新的介面控制器新增至分鏡腳本的進階指示。

Xamarin iOS 設計工具會自動執行這項操作,不需要手動步驟。

建築物

包含監看應用程式組建的專案,就像其他 iOS 項目一樣。 建置程式會導致 i 電話 應用程式(.app),其中包含監看式延伸模組(.appex),而該延伸模組又包含無程式代碼監看應用程式(.app)。

發射

您可以使用 Visual Studio for Mac 或 Visual Studio 在模擬器中啟動監看應用程式(在 Mac 組建主機上啟動)。

啟動 WatchKit 應用程式有兩種模式:

  • 一般應用程式模式 (預設值), 和
  • 通知(需要 JSON 格式的測試通知承載)。

Xcode 8 支援

安裝 Xcode 8(或更新版本)後,Apple Watch 模擬器會與 iOS 模擬器分開(與 Xcode 6 不同,其顯示為外部顯示器)。 當您選取 Watch App 專案並將其設為啟始專案時,模擬器清單會顯示 要從中選擇的 iOS 模擬器 (如下所示)。

選取模擬器類型

當您開始偵錯時,應該會啟動兩個模擬器 - iOS 模擬器和 Apple Watch 模擬器。 使用 Command+Shift+H 流覽至監看式功能表和時鐘表面;並使用 [硬體 ] 選單來設定 [強制觸控壓力]。 在軌跡板或滑鼠上捲動會使用 Digital Crown 模擬。

疑難排解

如果您試著啟動至沒有配對監看式的模擬器,應用程式輸出中會出現下列錯誤:

error MT0000: Unexpected error - Please file a bug report at https://github.com/xamarin/xamarin-macios/issues/new
error HE0020: Could not find a paired Watch device for the iOS device 'iPhone 6'.

如需設定模擬器的指示,請參閱 Apple 論壇,如果預設值無法運作。

Xcode 6 和 watchOS 1

您必須先將監看延伸模組項目設為啟動專案,才能執行或偵錯應用程式。 您無法「啟動」監看式應用程式本身,而且如果您選擇 iOS 應用程式,則會在 iOS 模擬器中正常啟動。

根據預設,監看應用程式會從 Visual Studio for Mac 的 [執行] 或 [偵錯] 命令,以一般應用程式模式啟動(不是 [概覽] 或 [通知] 模式。

使用 Xcode 6 時,只有 i 電話 5、i 電話 5S、i 電話 6 和 i 電話 6 Plus 可以啟用 Apple Watch - 38mmApple Watch - 42mm 的外部顯示器,其中手錶應用程式將會顯示。

注意

請記住,使用 Xcode 6 時,監看式畫面不會自動出現在 iOS 模擬器中。 使用 [ 硬體 > 外部顯示] 功能表來顯示監看畫面。

啟動通知模式

如需如何在程式代碼中處理通知的資訊,請參閱通知頁面

Visual Studio for Mac 可以使用通知的通知 啟動模式 來啟動監看應用程式:

以滑鼠右鍵按下監看應用程式項目,然後選擇 [ 使用 > 自訂設定執行...] :

執行自定義組態

這會開啟 [ 自定義參數 ] 視窗,您可以在其中選取 [通知 ] (並提供 JSON 承載),然後按 [執行 ] 以在模擬器中啟動監看應用程式:

設定通知和承載

偵錯

Visual Studio for Mac 和 Visual Studio 都支持偵錯。 請記得在通知模式中偵錯時提供通知 JSON 檔案。 這個螢幕快照顯示監看應用程式中正在叫用的偵錯斷點:

此螢幕快照顯示監看應用程式中正在叫用的偵錯斷點

遵循啟動指示之後,您最終將會在iOS模擬器 (Watch)執行的監看式應用程式。 針對通知模式,您可以選取 [ 偵 > 錯開啟系統記錄 檔] [CMD + /],並在 Console.WriteLine 程序代碼中使用。

偵錯生命週期事件處理程式

watchOS 範本檔案 (例如InterfaceControllerExtensionDelegateNotificationControllerComplicationController) 隨附已實作所需的生命週期方法。 新增 Console.WriteLine 呼叫並讀取 應用程式輸出 ,以進一步瞭解事件生命週期。