iT邦幫忙

2021 iThome 鐵人賽

DAY 30
0
Mobile Development

Re: 從零開始用 Xamarin 技術來復刻過去開發的一個 App : TopStore系列 第 30

EP 30: Archive and Publish TopStore App for iOS in Visual Studio

Hello, 各位 iT邦幫忙 的粉絲們大家好~~~

本篇是 Re: 從零開始用 Xamarin 技術來複刻過去開發的一個 App: TopStore 系列文的 EP30。

目前 TopStore App 已經有基本的樣子了,接著就是準備 "Archive(封存)" App 了,本篇要來針對 iOS 平台來進行 App 的 "Archive(封存)" 唷!

本篇 EP30 就開始來介紹介紹囉~~~


首先,先在 Visual Studio 的方案總管找到 iOS 專案底下的 info.plist 來編輯,在前面 EP21 介紹自訂啟動畫面時,已經稍微看過並編輯它的一些設定,捧友們應該對它不陌生。
info.plist 的編輯 1

在這邊的 info.plist 裡面就來調整了這些設定值。
info.plist 的編輯 2

存檔之後,再透過 Visual Studio 的方案總管在 iOS 專案上右鍵選單,點選 "屬性"。
iOS 專案的屬性編輯

首先在 iOS 組建這裡會看到預設顯示 "Debug 模式" 的組態,並且平台為 "iPhone Simulator"。
iOS 專案的屬性 "iOS 組建" 確認

把 "組態" 切換到 "Release 模式"。
"組態" 切換到 "Release 模式"

把 "平台" 切換到 "iPhone"。
"平台" 切換到 "iPhone"

接著稍微確認一下在 "Release 模式" 組態與 "iPhone" 平台的相關 iOS 組建設定是否都正確。
相關 iOS 組建設

接著確認 Visual Studio 是否有連線到發版用的 Mac 設備。
確認 Visual Studio 與 Mac 之間的連線

在剛剛的 iOS 專案 "屬性" 中切換到 "iOS 套件組合簽署" 分頁,預設值應該是如下圖。
切換到 "iOS 套件組合簽署" 分頁 1

如果在 Apple Developer Account 的 Portal 網站中已經有針對 "憑證(Certificates)"、"簽署識別(Identifiers)"、"佈建設定檔(Provisioning Profiles)"...等,以上設定,統稱: "套件組合簽署" 資訊,都已經正確設置完成。

並在已連線的該台 Mac 裝置 "成功" 的匯入其 "套件組合簽署" 資訊,那理論上就可以選擇到這個 "套件組合簽署" 的設定值。
切換到 "iOS 套件組合簽署" 分頁 2

接著準備進行 iOS 平台 App 的 "Archive(封存)",由於 Visual Studio 的是以 Android 平台的封存處理為預設值,所以 iOS 平台要進行封存時,在 Visual Studio 請先確定以下四點,再進行 "Archive(封存)"。

  1. 把 Visual Studio 的編譯組態切換到 "Release" 模式。
    "組態" 切換到 "Release" 模式準備進行封存

  2. 把 Visual Studio 的執行平台切換到 "iPhone"。
    "組態" 切換到 "Release" 模式準備進行封存

  3. 把 Visual Studio 的啟動專案切換到 "TopStoreApp.iOS"。
    Visual Studio 的啟動專案切換到 "TopStoreApp.iOS"

  4. 接著再把 Visual Studio 的執行裝置切換到 "遠端裝置"。
    "組態" 切換到 "Release" 模式準備進行封存

以上確認完畢後,就可以在 iOS 專案的右鍵選單找到 "封存" 選項。
右鍵選單中找到 "封存" 選項

點選 "封存" 後 Visual Studio 的 "封存管理員" 會出現,並且開始依照剛剛的 "Release 模式" 設定進行 "Archive(封存)" 處理。
依照剛剛設定的 "Release" 模式進行 "Archive(封存) 1"

進入製作 "套件組合" 階段後不久 "Archive(封存)" 處理完畢。此時,Visual Studio 的最左下角也會有文字顯示告知。
依照剛剛設定的 "Release" 模式進行 "Archive(封存) 2"

如果中途關閉了 "封存管理員" 等到 "Archive(封存)" 完畢時,也可以再透過 Visual Studio 的方案總管的在 iOS 專案上右鍵選單點選 "檢視封存",看到 "封存" 結果。
iOS 專案上右鍵選單點選 "檢視封存"

再次回到 "封存管理員" 時,會列出之前成功封存成各平台的各個版本 App。
成功封存成各平台的各個版本 App

點選成功 "封存" 成 iOS 平台 App 版本的 "組合套件(*.ipa)" 後,找到在 "封存管理員" 右下方的 "散發" 按鈕。
Visual Studio 中 "封存管理員" 右下方的 "散發" 按鈕

Visual Studio 會跳出 "App Store"、"Enterprise"、"臨機操作" 三種散發通道可供選擇。
跳出 "App Store"、"Enterprise"、"臨機操作" 三種散發通道

在這邊就選擇 "App Store" 來做為散發通道吧!
選擇 "App Store" 散發

BTW, 要先在 "App Store Connect" 針對該 "套件組合識別碼(tw.goodjob.beta.topstoreapp)" 設立好 "套件組合(*.ipa)" 的 App 上傳通道,才能選擇 "App Store" 作為散發通道喔!

在前面 "封存" iOS 平台 App 的時候已經針對此 "套件組合識別碼(tw.goodjob.beta.topstoreapp)" 選擇專屬的 "簽署識別" 與 "佈建設定檔" 來建立 "套件組合(*.ipa)",所以這邊也只是再確認過一次 "簽署識別" 跟 "佈建設定檔" 是否正確。
確認 "簽署識別" 跟 "佈建設定檔"

檢查後都確認沒問題請點選 "上傳至 Store"。
上傳至 Store

點選 "上傳至 Store" 之後,Visual Studio 的封存管理員會開始啟動發佈。
封存管理員開始啟動發佈

等待驗證 "套件組合(*.ipa)" 的過程。
等待驗證 "套件組合(*.ipa)"

驗證無誤後會跳出透過 Apple ID 設置的 App 專屬認證金鑰(這跟 Apple Developer Account 無關,是由 Apple ID 自行設置的一組專用的認證金鑰)。
Apple ID 設置的專屬認證金鑰 1

輸入完成後點選 "確定"。
Apple ID 設置的專屬認證金鑰 2

App 專屬認證金鑰的驗證授權完成後,App Store Connect 在接受上傳前會再驗證一次 "套件組合(*.ipa)"。
上傳 "套件組合(*.ipa)" 至 App Store Connect 1

驗證 "套件組合(*.ipa)" 完成後,正式開始上傳至 AppStore Connect。
上傳 "套件組合(*.ipa)" 至 App Store Connect 2

"套件組合(*.ipa)" 成功上傳到 App Store Connect 完成時,在 Visual Studio 的最左下角也會有文字顯示發行完成。
上傳 "套件組合(*.ipa)" 至 App Store Connect 3

最後,雖然沒有像 Google Play Console 一樣,需要第一次時 "手動" 上傳的這種奇怪的部分,還是把該 "Archive(封存)" 出來的 *.ipa 檔案放到 Windows 的 "桌面" 來看一下。
Archive(封存) 出來的 "套件組合(*.ipa)" 在 Windows 的桌面顯示

以上 EP30 的介紹就到這邊~~~

感謝各位捧友啦!!

嘎啦嗚唷~~~

額外參考文件:

  1. iOS Development 的憑證、簽署識別、佈建設定檔在使用 Xamarin 開發 iOS App 時要如何設定(手動篇I):
    https://dotblogs.com.tw/jamestsai/2019/08/27/How-to-set-iOS-Development-Certificates-Identifiers-and-Profiles-by-using-Xamarin-Develop-iOS-App-I

  2. iOS Development 的憑證、簽署識別、佈建設定檔在使用 Xamarin 開發 iOS App 時要如何設定(手動篇II):
    https://dotblogs.com.tw/jamestsai/2019/09/01/how-to-set-ios-development-certificates-identifiers-and-profiles-by-using-xamarin-develop-ios-app-ii

  3. iOS Development 的憑證、簽署識別、佈建設定檔在使用 Xamarin 開發 iOS App 時要如何設定(自動篇):
    https://dotblogs.com.tw/jamestsai/2020/04/19/How-to-set-iOS-Development-Certificates-Identifiers-and-Profiles-by-using-Xamarin-Develop-iOS-App-P3

  4. 透過 Visual Studio 串接 App Store Connect 發佈 iOS App:
    https://dotblogs.com.tw/jamestsai/2020/06/05/Using-Visual-Studio-publish-iOS-App-to-App-Store-Connect


上一篇
EP 29: Archive and Publish TopStore App for Android in Visual Studio
下一篇
EP 31: Testing TopStore App (Beta) for iOS and Android
系列文
Re: 從零開始用 Xamarin 技術來復刻過去開發的一個 App : TopStore32

尚未有邦友留言

立即登入留言