這很重要
Visual Studio App Center 於 2025 年 3 月 31 日淘汰,但分析和診斷功能除外,這些功能將持續支援到 2026 年 6 月 30 日。 瞭解更多資訊。
延伸模組僅支持當機報告。
若要瞭解如何將App Center SDK新增至容器應用程式,請參閱 App Center macOS 用戶入門檔。
讓我們開始在應用程式延伸模組中設定 App Center macOS SDK,以使用 App Center 崩潰報告功能。
1.Prerequisites
必須符合下列需求,才能使用App Center SDK:
- macOS 專案需在 Xcode 13 或更新版本上設定,而且系統必須在 macOS 10.14.4 或更新版本上運行。
- 您的目標是在macOS 10.13或更新版本上執行的裝置。
- 您未使用任何其他提供當機報告功能的函式庫。
2.在 App Center 入口網站中建立您的應用程式,以取得應用程式秘密
如果您已在 App Center 入口網站中建立應用程式,您可以略過此步驟。
- 前往 appcenter.ms。
- 註冊或登入,並按入口網站右上角的藍色按鈕,顯示 [ 新增 ],然後從下拉功能表中選取 [ 新增應用程式 ]。
- 輸入應用程式的名稱和選擇性描述。
- 選取 [macOS ] 作為 [作系統] 和 [ Objective-C/Swift ] 作為平臺。
- 按兩下右下角按鈕,顯示 [新增應用程式]。
建立應用程式之後,您可以在 App Center 入口網站的 [設定] 頁面上取得其應用程式秘密。 在 [ 設定 ] 頁面右上角,按兩下 三個垂直點 ,然後選取 Copy app secret
以取得您的應用程式秘密。
備註
使用來自另一個 macOS 專案的現有應用程式密鑰可能會產生副作用。 App Center 不支援在相同的 App Center 應用程式上依專案進行篩選。 例如,列出特定版本的當機,將會列出此版本這兩個專案的所有當機,而不區分。 這很令人困惑。
備註
在 4.0.0
App Center 重大變更版本中引進。 遵循 移轉至 App Center SDK 4.0.0 和更新 版本一節,從舊版移轉 App Center。
3.新增 App Center SDK 模組
App Center SDK 可以透過 Cocoapods、 Carthage 或手動將二進位檔新增至您的專案,整合到您的應用程式中。
3.1 透過Cocoapods整合
將下列相依性新增至您的
podfile
中,以將 App Center 崩潰功能整合到您的應用程式中。 這會提取下列架構: AppCenter 和 AppCenterCrashes。pod 'AppCenter/Crashes'
執行
pod install
以安裝新定義的 Pod,並開啟項目的.xcworkspace
。
備註
如果您在執行 [!] Unable to find a specification for `AppCenter`
時看到類似pod install
的錯誤,請執行 pod repo update
以從 Cocoapods 存放庫取得最新的 Pod,然後執行 pod install
。
既然您已在應用程式中整合架構,現在可以啟動 SDK 並使用 App Center 服務。
3.2 透過 Carthage 整合
以下是如何使用 Carthage0.30 版或更高版本在 Xcode 專案中整合 App Center SDK 的步驟,這是一個分散式相依性管理員,可建置相依性並提供二進位架構。
將下列相依性新增至您的應用程式
Cartfile
,以將App Center納入您的應用程式。 這會引入所有的框架。 然後,您只能連結這些架構,以在應用程式中使用。# Use the following line to get the latest version of App Center github "microsoft/appcenter-sdk-apple"
# Use the following line to get the specific version of App Center github "microsoft/appcenter-sdk-apple" ~> X.X.X
執行
carthage update
。 這會擷取相依性到 Carthage/Checkouts 資料夾,然後建置每個架構。開啟應用程式目標的 [ 一般 設定] 索引標籤。將 AppCenter.framework 和 AppCenterCrashes.framework 檔案從 Carthage/Build/ 資料夾拖放到 Xcode 的項目導覽器中。 需要 AppCenter.framework 才能啟動 SDK。 如果未將它新增至專案,其他模組將無法運作,而且您的應用程式不會編譯。
一個對話框會出現,請確認已勾選您的應用程式目標。 然後按一下 [ 完成]。
備註
如果您在
carthage copy-frameworks
中使用 ,就不應該在建置階段新增 App Center SDK,因為它們會以靜態架構的形式提供。
既然您已在應用程式中整合架構,現在可以啟動 SDK 並使用 App Center 服務。
3.3 透過 Swift 套件管理員整合
- 從 [Xcode] 功能表中,單擊 [ 檔案 > Swift 套件 > 新增套件相依性]。
- 在出現的對話框中,輸入存放庫 URL: https://github.com/microsoft/appcenter-sdk-apple.git。
- 在 [版本] 中,選擇 [至下一個主要版本],並採用預設選項。
- 在 [ 套件產品 ] 資料行中選擇您需要的模組。
既然您已在應用程式中整合架構,現在可以啟動 SDK 並使用 App Center 服務。
備註
如果您要透過 SwiftPM 整合 App Center,並希望在應用程式的擴展目標中使用,請確定您在設定中提供 DISABLE_DIAMOND_PROBLEM_DIAGNOSTIC=YES
。 若要避免 SwiftPM 限制將模組連結至多個目標,就必須這樣做。
3.4 將二進位檔複製到您的專案來整合
以下是在您的 Xcode 專案中整合已編譯的二進位文件,以設置 App Center Crashes 用於您的應用程式擴充功能的操作步驟。
備註
App Center SDK 支援使用 XCframework
。 如果您想要將 XCframeworks 整合到專案中,請從發行頁面下載 AppCenter-SDK-Apple-XCFramework.zip,並將它解壓縮。 產生的資料夾內容不是針對特定平臺,而是包含每個模組的 XCframework。 它們可以和一般架構一樣整合,如下所述。
下載以 zip 檔案的形式提供的 App Center SDK 架構。
將檔案解壓縮,您會看到名為 AppCenter-SDK-Apple 的資料夾,其中包含每個平台資料夾上每個 App Center 服務的不同架構。 專案中需要呼叫
AppCenter
的架構,因為它包含不同模組之間共用的程序代碼。[選擇性]建立第三方連結庫的子目錄。
- 最佳做法是,第三方連結庫通常位於子目錄中,通常稱為 Vendor。 如果專案不是使用連結庫的子目錄來組織,請立即建立 Vendor 子目錄。
- 在 Xcode 專案中建立名為 Vendor 的群組,以模擬磁碟上的檔案結構。
在 Finder 中開啟解壓縮的 AppCenter-SDK-Apple 資料夾,並將資料夾複製到專案的資料夾,位於您想要的位置。 資料夾包含 App Center SDK 支援之其他平臺的子資料夾中的架構,因此您可能需要刪除不需要的子資料夾。
將 SDK 架構新增至 Xcode 中的專案:
- 請確定 [項目導覽器] 為可見的 (⌘+1)。
- 現在,將 AppCenter.framework 和 AppCenterCrashes.framework 從 Finder(在上一個步驟的位置)拖放到 Xcode 的項目導覽器中。 需要 AppCenter.framework 才能啟動 SDK。 如果未將它新增至專案,其他模組將無法運作,而且您的應用程式延伸模組不會編譯。
- 對話框將會出現,請確定您的應用程式擴充功能目標已被選取。 然後按一下 [ 完成]。
既然您已在應用程式延伸模組中整合架構,現在可以啟動 SDK 並使用 App Center 服務。
4.啟動 SDK
若要使用 App Center,您必須先選擇加入要使用的模組。 根據預設,不會啟動任何模組,而且您必須在啟動 SDK 時明確呼叫每個模組。
4.1 新增匯入語句
在包含應用程式延伸模組進入點的檔案中插入下列幾行。 例如,在 Today 擴展名的主要 ViewController 檔案內。
@import AppCenter;
@import AppCenterCrashes;
import AppCenter
import AppCenterCrashes
4.2 新增 start:withServices:
方法
在應用程式延伸模組的進入點中插入下列這一行。 例如,在 viewDidLoad
Today 擴展名之主要 ViewController 檔案的 方法內。
[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACCrashes class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Crashes.self])
目前僅支援應用程式延伸模組的當機報告。
4.3 將佔位符取代為您的應用程式密鑰
請務必將 {Your App Secret}
文字替換為您應用程式擴充套件的實際值。 您可以在 App Center 入口網站的 [ 使用者入門 ] 頁面或 [ 設定 ] 頁面上找到應用程式密碼。
[用戶入門] 頁面包含上述程式碼範例,其中包含您的應用程式秘密,您可以複製並貼上整個範例。
太好了,您已準備好在 SDK 自動收集數據的入口網站上視覺化當機數據。
查看 App Center 當機 的檔,瞭解如何自定義應用程式擴充功能,並使用更進階的功能。