本篇文章在介紹從 Apple 的 App Store Connect 中為 iOS App 建立 TestFlight 外部測試群組;並且將 App 加入測試建置版本、填寫 Beta App 審查資訊、建立公開連結,並在版本通過審查後讓外部測試人員安裝測試的完整流程。
透過先建立 testflight 專用的外部測試連結後,再等待 Apple 將送至 Beta 審查的 App 審查完成後,就能把已核准的建置版本正式提供給外部測試人員開始進行外部測試。

本篇文章在介紹從 Apple 的 App Store Connect 中為 iOS App 建立 TestFlight 外部測試群組;並且將 App 加入測試建置版本、填寫 Beta App 審查資訊、建立公開連結,並在版本通過審查後讓外部測試人員安裝測試的完整流程。
透過先建立 testflight 專用的外部測試連結後,再等待 Apple 將送至 Beta 審查的 App 審查完成後,就能把已核准的建置版本正式提供給外部測試人員開始進行外部測試。

本篇文章主要是要介紹在 AppStore Connect 中為 iOS App 建立 TestFlight 內部測試流程的幾個關鍵點。
從建立內部測試群組、指定內部測試人員,到綁定建置版本並填寫測試內容。
整體流程就像替 App 啟動一條路,並先把測試團隊放到正確位置,再把可測試的 App 版本送到 AppStore Connect 後,標示一些測試訊息,也能替參與的測試者理解到此版本的測試方向。透過這些指引畫面,可以清楚掌握 TestFlight 內部測試的準備步驟。
讓 App 在正式上架前可以先進行一輪有秩序、可追蹤、也更安心的 TestFlight 的內部測試。
這次要操練的對象是 Apple 的 App Store Connect,並且在其中建立一個 App 可供上傳:

也就是讓 App Store Connect 則成為 App 正式亮相前的後台舞台,從 App 名稱、語言、Bundle ID 到 SKU,都必須與前面建立好的資料互相呼應。整個流程的核心不是單純填表,而是替 App 建立一條可信任、可追蹤、可發佈的路徑。
如果在 前篇 沒啥意外,應該要順利的能透過 Visual Studio 發佈經過簽署的 iOS 應用程式到 App Store Connect 當中。
不出意外的話…馬上就會出意外
,這是通則。
如果無法順利直接透過 Visual Studio 發佈經過簽署的 iOS 應用程式到 App Store Connect 當中的話,那該怎辦?
其實也別擔心,只要確定 Visual Studio 有產出經過簽署的 iOS 應用程式(*.ipa),那就可以透過 Xcode 或是 Transporter 來發佈到 App Store 當中。
.NET MAUI 撰寫好 iOS 應用程式後,不外乎就是要發佈該 iOS 應用程式到 App Store Connect 當中,除非所寫的是專屬給企業內部使用的 iOS 應用程式。
而在 Xamarin 的時代就已經可以透過 Visual Studio 的介面操作,直接發佈 iOS 應用程式的 *.ipa 到 App Store Connect,詳情請看:
透過 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
而微軟官方文件也有相關的撰寫:
在 前篇 中已經順利在 Visual Studio 登入 Apple Developer Account 並且透過 API Key 存取 Apple Developer 的相關資訊。

可是這時候注意到一件事情:
Status 顯示 Not In Keychain
若想要透過 Visual Studio 開發 .NET MAUI 並進行 iOS 應用程式的開發,勢必要在 Visual Studio 當中登入 Apple Developer Account,以利取得憑證等資訊。
取得相關資訊後,在進行 iOS 應用程式部署的時候(安裝到測試實機上) 或是打包發版(發佈到 AppStore Connect)的時候,都會相對簡便。
不過,現在不再支援直接使用登入帳號密碼的方式使用。
請改用 Apple Developer 的 API Key 來存取囉!
本篇介紹是要替一個即將登上 App Store 的 iOS App 進行實機開發、測試、與發佈的設定準備
App 不是只要寫好程式就能出發,它還需要在 Apple Developer 裡擁有清楚的身分,也就是正確的 Bundle Identifier;需要能證明開發者身分的 Certificates;也需要讓開發、測試與發佈流程順利通行的 Provisioning Profiles。
當這些資料都整理好後,macOS 的 Xcode 也就可以像是一個本機端的檢查站,負責確認 Apple Account、Team、憑證與 Profiles 是否都能被正確使用。
在這當中就是要確保 Identifier、Certificate、Profile 與 App Store Connect 的 App 紀錄彼此對得上。
開始吧~~~
如果根據 前篇 操作後有發現 macOS 所建立的憑證不受信任的話,請參考此篇處理。

這篇有提到:
在 macOS 上最主要就是要安裝 Xcode,而如果要安裝 Xcode 的管道,基本上有兩種:
- 透過 macOS 上的 App Store 安裝。(登入 Apple 帳號後即能免費下載使用)
- 透過 Apple Developers 網站來下載 .xip 安裝。(需要先有訂閱 Apple 開發者帳號才能下載使用)
本篇就來談談如何透過 .xip 來安裝 Xcode。
如果要順利在 Visual Studio 來連接 macOS 透由 .NET MAUI 開發 iOS 的話,對於要連接的 macOS 上是需要事先安裝好 Xcode 等 Apple 所設計的 iOS 開發工具的。
不然,就算有開啟遠端登入等功能讓 Visual Studio 能夠連線並自動安裝 mono 等軟體元件,那也沒有 iOS 的相關 SDK 供使用。
在 macOS 上最主要就是要安裝 Xcode,而如果要安裝 Xcode 的管道,基本上有兩種:
本篇介紹是使用第一種方式來完成唷~~~
在 .NET MAUI 的專案當中若使用 Onion.Maui.GoogleMaps 這個 Nuget 套件(前身為 Xamarin.Forms.GoogleMaps) 後,在 iOS 平台上就能順利呈現 Google Maps 的效果:

接下來就看看如何在專案中開始使用此 "Onion.Maui.GoogleMaps" 套件囉~~~
在 Apple 隨著 Xcode 15 Beta 2 推出的時候,內含 Reality Composer Pro 的工具也隨著推出。

按照 Apple 官網上給 Reality Composer Pro 的簡介:
本週最重要的事就是端午節的四天連假了…
Apple visionOS SDK & VisionPro Simulator 的 1 beta ,終於在 WWDC2023 結束後經過約 2 週的時間,正式的於 2023/06/21 隨 Xcode 15 Beta 2 釋出了🎉🎉🎉

自今年 Apple WWDC 2023 首日 keynote 時的 one more thing…宣布推出 Apple 第一台 空間運算 裝置 "Apple Vision Pro":

整個網路上的各種論壇、社群…通通都討論到炸鍋了🤯
由於當前(2022/05)要使用 .NET MAUI 時,需要把 Visual Studio 切換到 Preview 的版本安裝,才能進行測試,這會造成一個問題是,Visual Studio 跟 Mac 上安裝 Xamarin.iOS 的版本不一致。
雖然大致上都沒什麼問題,但就會造成每次要從 Windows 上的 Visual Studio 連線到 Mac 上時,會出現警告訊息:

近期因為有更新 iOS App 被 Apple 拒絕的問題,發現原本用來處理 Apple 要求的追蹤 Privacy 請求使用的AppTrackingTransparency,撰寫在AppDelegate類別的 FinishedLaunching方法中變得不行了。
此追蹤 Privacy 政策可詳見 Apple 的官網說明:
https://developer.apple.com/documentation/apptrackingtransparency
近日要在 Apple 的 App Store Connect 更新新版的 問口罩 App 時,突然發現無法正常送審。

依照 Apple 的指示是需要針對 "管理 App 隱私權" 做更進一步的設定:
https://help.apple.com/app-store-connect/#dev1b4647c5b