Share via


Xamarin 熱重新開機

Xamarin 熱重新開機可讓您在開發期間快速測試應用程式的變更,包括多檔案程式碼編輯、資源和參考。 它會將新變更推送至在偵錯目標上的現有應用程式套件組合,如此可達到更快速的組建和部署循環。

重要

Xamarin 熱重新啟動目前可在 Visual Studio 2019 16.5 版穩定中取得,並支援使用 Xamarin.Forms的 iOS 應用程式。 Visual Studio for Mac 和非Xamarin.Forms 應用程式的支援正在規劃中。

需求

  • Visual Studio 2019 16.5 版或更高版本
  • iTunes (Microsoft Store 或 64 位版本)
  • Apple Developer 帳戶和付費 Apple Developer Program 註冊

初始設定

注意

Visual Studio 16.8 和舊版預設會停用 Xamarin 熱重新啟動。 您可以在 [工具選項環境>預覽功能>啟用 Xamarin 熱重新啟動] 底下加以>啟用。> 從 Visual Studio 16.9 開始,Xamarin 熱重新啟動預設為開啟,而且可以從 [工具>選項 > Xamarin > iOS] 關閉,設定 > [啟用經常性重新啟動]。

  1. 確定 iOS 專案已設定為啟始專案,而組建組態設定為 Debug|i 電話

    1. 如果這是現有的專案,請移至 [建置組態管理員...],並確定已針對iOS專案啟用 [部署>]。
  2. 選取並按一下工具列中的 [本機裝置] 以啟動安裝精靈:

    Screenshot of the Visual Studio toolbar with local device set as the debug target.

  3. 如果未安裝 iTunes,請按一下 [下載 iTunes] 來下載安裝程式。 iTunes 安裝完成後,請按一下 [下一步]

  4. 將 iOS 裝置連線到電腦。 如果裝置已插上電源,請將其拔除,然後重新連線。 裝置名稱會在偵測到時出現在精靈中。 按一下 [下一步] 。

  5. 輸入您的 Apple 開發人員帳戶認證,然後按一下 [下一步]

  6. 使用下拉式功能表選取開發小組,以便在專案中啟用自動化佈建。 按一下 [完成] 。

注意

建議使用自動化佈建,這樣便可以輕鬆地針對部署設定額外的 iOS 裝置。 不過,如果有正確的佈建設定檔,則您可以將其停用並繼續使用手動佈建。

使用 Xamarin 熱重新開機

初始設定之後,連線的裝置會出現在偵錯目標下拉式功能表中。 若要針對應用程式進行偵錯,請在下拉式清單中選取裝置,然後按一下 [執行] 按鈕。 您可能會在 Visual Studio 中看到一則訊息,要求您在裝置上手動啟動應用程式,以便啟動偵錯工作階段。

您可以在偵錯時對程式碼檔案進行編輯,然後按下偵錯工具列中的 [重新啟動] 按鈕,或使用 Ctrl+Shift+F5 來重新啟動偵錯工作階段,並套用新變更:

Screenshot of the debug toolbar with the restart button highlighted.

您也可以使用 HOTRESTART 預處理器符號來防止特定程式代碼在使用 Xamarin 熱重新啟動進行偵錯時執行。

限制

  • 目前僅支援使用 Xamarin.Forms 和 iOS 裝置建置的 iOS 應用程式。
  • 僅支援 64 位 iOS 裝置。 從 iOS 11 開始,Apple 不再允許在 32 位架構上執行 iOS 應用程式(裝置早於 i 電話 5s)。
  • 不支援腳本和 XIB 檔案,如果應用程式嘗試在執行時載入這些,便可能損毀。 HOTRESTART使用預處理器符號來防止此程式代碼執行。
  • 不支援靜態 iOS 連結庫和架構,如果您的應用程式嘗試載入這些連結庫,您可能會看到運行時錯誤或當機。 HOTRESTART使用預處理器符號來防止此程式代碼執行。 支援動態 iOS 連結庫。
  • 您無法使用 Xamarin 熱重新開機來建立用於發佈的應用程式套件組合。 您仍然需要 Mac 電腦,才能為應用程式進行完整編譯、簽署和部署到生產環境。
  • 目前不支持資產目錄。 使用熱重新啟動時,您的應用程式會顯示 Xamarin 應用程式的預設圖示和啟動畫面。 當配對至 Mac 或在 Mac 上進行開發時,您的資產類別目錄將會運作。

疑難排解

  • 有一個已知問題,那就是啟用裝置專屬組建會導致應用程式無法進入偵錯模式。 因應措施是在 [屬性 > iOS 組建] 下停用此功能,然後重試偵錯。 未來的版本中將會修正此問題。
  • 如果應用程式已存在於裝置上,則嘗試使用熱重新開機進行部署可能會失敗,並出現 AMDeviceStartHouseArrestService 錯誤。 因應措施是在裝置上解除安裝應用程式,然後再次部署。
  • 輸入不屬於 Apple Developer Program 的 Apple ID 可能會導致下列錯誤: Authentication Error. Xcode 7.3 or later is required to continue developing with your Apple ID。 您必須擁有有效的 Apple 開發人員帳戶,才能在 iOS 裝置上使用 Xamarin 熱重新啟動。

若要回報其他問題,請使用 [說明>傳送>意見反應報告問題] 中的意見反應工具。