[Xamarin]如何利用mac免費佈建(發行,部署,Deploy,provision,publish)到iOS裝置

  • 501
  • 0

[Xamarin]如何利用mac免費佈建(發行,部署,Deploy,provision,publish)到iOS裝置

首先打開xcode並且打開preference的設定,裡面有個Account的頁籤,請加入自己的apple id


再來於xcode新建一個專案,專案類型使用Single View App即可

而畫面上下一步跳出來的team的設定,最重要記得就是選你剛剛新增的自己的apple id,其他的比較不重要的參數隨著不同的macos版本的不同可能就不同,就請盡量按照下圖的指示去設定即可,有稍許不一樣也不用太在意

再來按下Create按鈕建立專案

然後xcode會跳出一堆設定要你處理,第一步就是左上角選擇的裝置要選擇你的iphone而不是iOS模擬器


下一步就是切換到General頁籤,最重要的Bundle Identifier欄位必須填寫正確,這時候請先用文字編輯器打開你的xamarin專案的ios的專案底下的Info.plist檔案,複製好你的identifier設定,並貼上到xcode的general頁籤的bundle identifier欄位


接下來切換到xcode的signing and capabilities頁籤,同樣把team選擇為自己的apple id以及填入正確的bundle identifier

再來切換到build settings頁籤,看你是要佈建到iphone或是ipad或是universal(就是iphone與ipad通用的意思),這邊是選擇iphone,而佈建的版本這邊是選擇iOS 13.2,記得你這邊選擇的iOS版本要比你的iphone的版本低就是了~~你當然不可能在xcode選擇一個iOS=13.2的版本,可是你的iphone還在使用iOS=10的版本,這樣子發行肯定失敗的

這時候再回到Signing and Capabilities頁籤,點一下那個小小的驚嘆號圖案,你會發現xcode已經成功幫你產生了一個佈建app的簽章,這個簽章等等會在visual studio for mac裡面設定(這時候我是安裝visual studio community for mac 2019)

再來把xcode關閉即可


再來打開visual studio for mac,第一步當然也是設定左上角,要佈建到你的iphone而不是iOS模擬器


再來於方案總管的ios專案底下,滑鼠雙擊info.plist,配置選擇(手動配置),相關設定填入正確的:剛才你在xcode填入什麼,這邊就填入一樣的!,並且接著點擊Bundle signing options
還有你的app有用到什麼權限,例如背景模式或是位置資訊,也要記得打勾



接著跑出iOS套件組合簽署相關設定,比較要注意的就是(簽署識別)還有(佈建設定檔)的預設值設定為(自動),請記得改成剛剛在xcode產生的喔~~自訂權利那個欄位的預設值我沒有去動他

然後在visual studio存檔,再來就可以按下F5來跑看看app,第一次F5跑大概都是在成功佈建之後卻無法進入中斷點,然後vs就終止跑app了,因為你還沒有設定你的iphone相信這個免費佈建的app的作者,請於iphone的(設定)=>(一般)=>(裝置管理),你就會發現剛剛佈建上去的app,總之就是點進去,選擇相信這個app

接下再來次按下F5執行,這次就可以成功進入中斷點並測試App囉~

ps. 補充
如果你的xamarin專案是先在windows上面測試android,然後再把整個專案複製到mac去測試ios的話,複製過去之後,記得要在visual studio for mac裡面先進行(刪除obj+bin資料夾)+(清除建置)喔,以避免不必要的編譯錯誤。

參考資料:
Free provisioning for Xamarin.iOS apps
https://docs.microsoft.com/zh-tw/xamarin/ios/get-started/installation/device-provisioning/free-provisioning?tabs=macos