為 Xamarin.iOS 開發與 Mac 配對
本指南描述如何使用 [與 Mac 配對] 將 Visual Studio 2019 連線至 Mac 組建主機。 這些指示同樣適用於 Visual Studio 2017。
概觀
建置原生 iOS 應用程式需要存取只在 Mac 上執行的 Apple 組建工具。 因此,Visual Studio 2019 必須連線至網路可存取 Mac,才能建置 Xamarin.iOS 應用程式。
Visual Studio 2019 的 [與 Mac 配對] 功能會探索、連線、驗證並記住 Mac 組建主機,讓以 Windows 為基礎的 iOS 開發人員的工作更有成效。
[與 Mac 配對] 會啟用下列開發工作流程:
開發人員可以在 Visual Studio 2019 中撰寫 Xamarin.iOS 程式碼。
Visual Studio 2019 會開啟與 Mac 組建主機的網路連線,並在該電腦上使用組建工具編譯和簽署 iOS 應用程式。
不需要在 Mac 上執行個別應用程式,Visual Studio 2019 會透過 SSH 安全地叫用 Mac 組建。
一旦有變更發生,就會立即通知 Visual Studio 2019。 例如,將 iOS 裝置插入至 Mac 或在網路上變成可用時,會立即更新 iOS 工具列。
多個 Visual Studio 2019 執行個體可以同時連線至 Mac。
您可以使用 Windows 命令列建置 iOS 應用程式。
注意
遵循本指南中的指示,完成下列步驟:
- 在 Windows 電腦上,安裝 Visual Studio 2019
- 在 Mac 上,安裝 Xcode 和 Visual Studio for Mac
- Xcode 之後手動開啟它,以便它可已新增任何額外元件。
如果您不想要安裝 Visual Studio for Mac,則 Visual Studio 2019 可以使用 Xamarin.iOS 和 Mono 來自動設定 Mac 組建主機。 您仍然必須安裝並執行 Xcode。 如需詳細資訊,請參閱自動 Mac 佈建。
在 Mac 上啟用遠端登入
若要設定 Mac 組建主機,請先啟用遠端登入:
在 Mac 上,開啟 [系統偏好設定],並移至 [共享] 窗格。
核取 [服務] 清單中的 [遠端登入]。
確定已設定為允許 [所有使用者] 存取,或是允許使用者清單中包含您的 Mac 使用者名稱或群組。
如果出現提示,請設定 macOS 防火牆。
如果您已設定 macOS 防火牆封鎖傳入連線,則可能需要允許
mono-sgen
接收傳入連線。 如果是這種情況,則會顯示警示來提示您。如果它位在與 Windows 電腦相同的網路上,則 Visual Studio 2019 現在應該可以探索到 Mac。 如果仍然探索不到 Mac,則請嘗試手動新增 Mac 或查看疑難排解指南。
從 Visual Studio 2019 連線至 Mac
既然已啟用遠端登入,請將 Visual Studio 2019 連線至 Mac。
在 Visual Studio 2019 中,開啟現有的 iOS 專案,或選擇 [檔案 > 新 > 專案],然後選取 iOS 專案範本來建立新的專案 。
開啟 [與 Mac 配對] 對話方塊。
使用 [與 Mac 配對] 按鈕 iOS 工具列:
或者,選取 [工具 iOS > 配對至 Mac>]。
[與 Mac 配對] 對話方塊會顯示所有先前連線且目前可用的 Mac 組建主機清單:
在清單中,選取 Mac。 按一下 連線。
輸入您的使用者名稱和密碼。
第一次連線至任何特定 Mac 時,系統會提示您輸入該電腦的使用者名稱與密碼:
提示
登入時,請使用您的系統使用者名稱,而非完整名稱。
[與 Mac 配對] 會使用這些認證來建立與 Mac 的新 SSH 連線。 如果成功,則會將金鑰新增至 Mac 上的 authorized_keys 檔案。 後續連線至相同 Mac 將會自動登入。
[與 Mac 配對] 會自動設定 Mac。
從 Visual Studio 2019 15.6 版開始,Visual Studio 2019 會視需要安裝或更新已連線 Mac 組建主機上的 Mono 和 Xamarin.iOS (請注意,Xcode 仍須靠您手動安裝)。 如需詳細資訊,請參閱自動 Mac 佈建。
尋找連線狀態圖示。
Visual Studio 2019 連線至 Mac 時,[與 Mac 配對] 對話方塊中該 Mac 的項目會顯示圖示,指出目前已連線:
一次只能有一個已連線的 Mac。
提示
以滑鼠右鍵按一下 [與 Mac 配對] 清單中的任何 Mac 都會啟動操作功能表,讓您可以 [連線...]、[不要記住這部 Mac] 或 [中斷連線]:
如果您選擇 [不要記住這部 Mac],則會忘記所選取 Mac 的認證。 若要重新連線至該 Mac,您需要重新輸入使用者名稱和密碼。
如果您已成功與 Mac 組建主機配對,則已可開始在 Visual Studio 2019 中建置 Xamarin.iOS 應用程式。 請查看 Xamarin.iOS for Visual Studio 簡介指南。
如果您還是無法與 Mac 配對,則請嘗試手動新增 Mac 或查看疑難排解指南。
手動新增 Mac
如果 [與 Mac 配對] 對話方塊中未列出特定 Mac,則請手動予以新增:
找到 Mac 的 IP 位址。
在 Visual Studio 2019 的 [與 Mac 配對] 對話方塊中,選取 [新增 Mac...]:
輸入 Mac 的 IP 位址,然後按一下 [新增]:
輸入 Mac 的使用者名稱和密碼:
提示
登入時,請使用您的系統使用者名稱,而非完整名稱。
按一下 [登入],透過 SSH 將 Visual Studio 2019 連線至 Mac,並將它新增至已知電腦的清單。
自動 Mac 佈建
從 Visual Studio 2019 15.6 版開始,與 Mac 配對會自動布建 Mac 與建置 Xamarin.iOS 應用程式所需的軟體:Mono、Xamarin.iOS(軟體架構,而非 Visual Studio for Mac IDE),以及各種 Xcode 相關工具(但不是 Xcode 本身)。
重要
- [與 Mac 配對] 無法安裝 Xcode;您必須在 Mac 組建主機上手動安裝它。 它是進行 Xamarin.iOS 開發的必要項目。
- 自動 Mac 佈建需要在 Mac 上啟用遠端登入,而且 Mac 必須可透過網路存取 Windows 電腦。 如需詳細資訊,請參閱在 Mac 上啟用遠端登入。
- 自動化的 Mac 佈建需要 Mac 有 3 GB 的可用空間,才能安裝 Xamarin.iOS。
[與 Mac 配對] 會在 Visual Studio 2019 連線至 Mac 時執行必要的軟體安裝/更新。
Mono
[與 Mac 配對] 將會確定已安裝 Mono。 如果未安裝,則 [與 Mac 配對] 將會在 Mac 下載和安裝 Mono 的最新穩定版本。
進度是以各種提示指出,如下列螢幕擷取畫面所示 (按一下以縮放):
Mono | 安裝檢查 | 下載 | 正在安裝 |
---|---|---|---|
Xamarin.iOS
[與 Mac 配對] 會在 Mac 上升級 Xamarin.iOS,以符合 Windows 電腦上已安裝的版本。
重要
[與 Mac 配對] 不會將 Mac 上的 Xamarin.iOS 從 alpha/beta 降級至穩定。 如果您已安裝 Visual Studio for Mac,則請設定發行通道,如下所示:
- 如果您使用 Visual Studio 2019,請選取 Visual Studio for Mac 中的 [穩定] 更新通道。
- 如果您使用 Visual Studio 2019 Preview,請選取 Visual Studio for Mac 中的 Alpha 更新通道。
進度是以各種提示指出,如下列螢幕擷取畫面所示 (按一下以縮放):
Xamarin.iOS | 安裝檢查 | 下載 | 正在安裝 |
---|---|---|---|
Xcode 工具和授權
[與 Mac 配對] 也會確認是否已安裝 Xcode 並接受其授權。 [與 Mac 配對] 未安裝 Xcode 時,系統會提示接受授權,如下列螢幕擷取畫面所示 (按一下以縮放):
Xcode | 安裝檢查 | 接受授權 |
---|---|---|
此外,[與 Mac 配對] 將會安裝或更新利用 Xcode 所散發的各種套件。 例如:
- MobileDeviceDevelopment.pkg
- XcodeExtensionSupport.pkg
- MobileDevice.pkg
- XcodeSystemResources.pkg
這些套件的安裝會快速發生,而且不會出現提示。
注意
這些工具與 Xcode 命令列工具不同,而從 macOS 10.9 開始是使用 Xcode 安裝。
針對自動 Mac 佈建進行疑難排解
如果您使用自動 Mac 佈建時發生任何問題,請查看儲存在 %LOCALAPPDATA%\Xamarin\Logs\16.0 中的 Visual Studio 2019 IDE 記錄。 這些記錄可能包含錯誤訊息,協助您進一步診斷失敗或取得支援。
從 Windows 命令列建置 iOS 應用程式
[與 Mac 配對] 支援從命令列建置 Xamarin.iOS 應用程式。 例如:
C:\samples\App1>msbuild App1.sln /p:ServerAddress=10.211.55.2 /p:ServerUser=xamUser /p:Platform=iPhoneSimulator /p:ServerPassword=mypassword
上述範例中傳遞給 msbuild
的參數如下:
ServerAddress
- Mac 組建主機的 IP 位址。ServerUser
- 要在登入 Mac 組建主機時使用的使用者名稱。 請使用您的系統使用者名稱,而非完整名稱。ServerPassword
- 要在登入 Mac 組建主機時使用的密碼。
注意
Visual Studio 2019 儲存 msbuild
在下列目錄中: C:\Program Files (x86)\Microsoft Visual Studio\2019\<Version>\MSBuild\Current\Bin
[與 Mac 配對] 第一次從 Visual Studio 2019 或命令列登入特定 Mac 組建主機時,會設定 SSH 金鑰。 如果使用這些金鑰,則未來的登入不需要使用者名稱或密碼。 新建立的金鑰會儲存在 %LOCALAPPDATA%\Xamarin\MonoTouch 中。
如果從命令列組建叫用來省略 ServerPassword
參數,則 [與 Mac 配對] 會嘗試使用已儲存的 SSH 金鑰來登入 Mac 組建主機。
摘要
本文說明如何使用 [與 Mac 配對] 將 Visual Studio 2019 連線至 Mac 組建主機,並讓 Visual Studio 2019 開發人員使用 Xamarin.iOS 建置原生 iOS 應用程式。