這很重要
Visual Studio App Center 於 2025 年 3 月 31 日淘汰,但分析和診斷功能除外,這些功能將持續支援到 2026 年 6 月 30 日。 瞭解更多資訊。
App Center SDK 使用模組化架構,因此您可以使用任何或所有服務。
讓我們開始在您的應用程式中設定 App Center macOS SDK,以使用 App Center Analytics 和 App Center 當機。
1.Prerequisites
必須符合下列需求,才能使用App Center SDK:
- macOS 專案需在 Xcode 13 或更新版本上設定,而且系統必須在 macOS 10.14.4 或更新版本上運行。
- 您的目標是在macOS 10.13或更新版本上執行的裝置。
- 您未使用任何其他提供當機報告功能的函式庫。
備註
App Center SDK 將會使用 6 月 SDK 版本 卸除 Xcode 10 的支援 。
App Center SDK 分析和當機可透過 XCFramework 或 SwiftPM 與 Mac Catalyst 相容。
App Center SDK 與 Apple Silicon 相容。
2.在 App Center 入口網站中建立您的應用程式,以取得應用程式秘密
如果您已在 App Center 入口網站中建立應用程式,您可以略過此步驟。
- 前往 appcenter.ms。
- 註冊或登入,並按入口網站右上角的藍色按鈕,顯示 [ 新增 ],然後從下拉功能表中選取 [ 新增應用程式 ]。
- 輸入應用程式的名稱和選擇性描述。
- 選取 [macOS ] 作為 [作系統] 和 [ Objective-C/Swift ] 作為平臺。
- 按兩下右下角按鈕,顯示 [新增應用程式]。
建立應用程式之後,您可以在 App Center 入口網站的 [設定] 頁面上取得其應用程式秘密。 在 [ 設定 ] 頁面右上角,按兩下 三個垂直點 ,然後選取 Copy app secret
以取得您的應用程式秘密。
3.新增 App Center SDK 模組
App Center SDK for macOS 可以透過 Cocoapods、Carthage、Swift Package Manager 或手動將二進位檔新增至您的專案,輕鬆整合到您的應用程式。
備註
在 4.0.0
App Center 重大變更版本中引進。 遵循 移轉至 App Center SDK 4.0.0 和更新 版本一節,從舊版移轉 App Center。
3.1 透過Cocoapods整合
將下列相依性新增至您的
podfile
,以將App Center Analytics和App Center當機納入您的應用程式。 這會提取下列架構: AppCenter、 AppCenterAnalytics 和 AppCenterCrashes。 相反地,您可以指定要在應用程式中使用的服務。 每個服務都有自己的子專案,而且全都依賴AppCenter
。 它會自動拉入。# Use the following line to use App Center Analytics and Crashes. pod 'AppCenter' # Use the following lines if you want to specify which service you want to use. pod 'AppCenter/Analytics' pod 'AppCenter/Crashes'
執行
pod install
以安裝新定義的 Pod,並開啟項目的.xcworkspace
。
既然您已在應用程式中整合架構,現在可以啟動 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 --platform macOS
。 這會擷取相依性到 Carthage/Checkouts 資料夾,然後建置每個架構。開啟應用程式目標的 [ 一般 設定] 索引標籤。將 AppCenter.framework、 AppCenterAnalytics.framework 和 AppCenterCrashes.framework 檔案從 Carthage/Build/macOS 資料夾拖放到 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 專案中整合已編譯二進位檔的步驟,以設定 macOS 應用程式的 App Center Analytics 和 App Center 當機。
備註
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)。
- 現在,將位於 Vendor 資料夾內的 AppCenter.framework、AppCenterAnalytics.framework 和 AppCenterCrashes.framework 從 Finder 拖放到 Xcode 的專案瀏覽器中。 需要 AppCenter.framework 才能啟動 SDK。 如果缺少其他模組將無法運作,您的應用程式將無法編譯。
- 對話框將會出現,請確定已選取您的應用程式目標。 然後按一下 [ 完成]。
備註
SDK 二進位檔不會依照macOS架構慣例進行封裝。 原因是 App Center SDK for Mac 不是傳統架構,而是靜態架構。 您必須將它連結為靜態架構:請確定您未內嵌二進位檔,且不會將它們包含在「複製套件組合資源」建置階段。
既然您已在應用程式中整合架構,現在可以啟動 SDK 並使用 App Center 服務。
4.啟動 SDK
若要使用 App Center,您必須選擇您想使用的模組。 根據預設,不會啟動任何模組,而且您必須在啟動 SDK 時呼叫每個模組。 如果您要開發延伸模組,請參閱 延伸模組入門頁面。
4.1 新增匯入語句
開啟專案的 AppDelegate 檔案,並新增下列匯入語句:
@import AppCenter;
@import AppCenterAnalytics;
@import AppCenterCrashes;
import AppCenter
import AppCenterAnalytics
import AppCenterCrashes
4.2 新增 start:withServices:
方法
在應用程式的 didFinishLaunchingWithOptions
委派方法中插入下列這一行:
[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self])
如果您有 Catalyst 應用程式,您可以同時傳遞 iOS 和 macOS 的應用程式秘密:
[MSACAppCenter start:@"ios={Your iOS App Secret};macos={Your macOS App Secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class]]];
AppCenter.start(withAppSecret:"ios={Your iOS App Secret};macos={Your macOS App Secret}", services: [Analytics.self, Crashes.self])
警告
不建議在原始碼中內嵌您的應用程式秘密。
如果您需要個別啟動 App Center 服務,您應該:
- 使用應用程式密碼來設定或啟動它。
- 如果可以多次呼叫程式代碼,請檢查是否已設定App Center。
- 在沒有應用程式秘密的情況下啟動必要的服務。
[MSACAppCenter configureWithAppSecret:@"{Your App Secret}"];
if ([MSACAppCenter isConfigured]) {
[MSACAppCenter startService:[MSACAnalytics class]];
[MSACAppCenter startService:[MSACCrashes class]];
}
AppCenter.configure(withAppSecret: "{Your App Secret}")
if AppCenter.isConfigured {
AppCenter.startService(Analytics.self)
AppCenter.startService(Crashes.self)
}
4.3 將佔位符取代為您的應用程式密鑰
請務必將 {Your App Secret}
替換為應用程式中的實際值。 您可以在 App Center 入口網站的 [ 使用者入門 ] 頁面或 [ 設定 ] 頁面上找到應用程式密碼。
[用戶入門] 頁面包含上述程式碼範例,其中包含您的應用程式秘密,您可以複製並貼上整個範例。
上述範例示範如何使用 start:withServices
(start(withAppSecret:services:)
for Swift) 方法,並同時包含 App Center 分析與 App Center 當機。
如果您不想使用這兩個服務之一,請從上述方法呼叫中移除對應的參數。
除非您明確將每個模組指定為 start 方法中的參數,否則您無法使用該 App Center 服務。 此外, start:withServices
在應用程式的生命週期中,只能使用 (start(withAppSecret:services:)
for Swift) API 一次– 所有其他呼叫都會將警告記錄至主控台,而且只會提供第一次呼叫中包含的模組。
例如 - 如果您想要上線至 App Center Analytics,您應該修改 start:withServices
(start(withAppSecret:services:)
for Swift) API 呼叫,如下所示:
[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self])
4.4 新增沙盒化應用程式的因特網功能
如果您的應用程式使用應用程式沙箱,您必須設定允許連出 (用戶端) 連線的功能,讓應用程式能夠存取因特網。 Xcode 9 預設會啟用應用程式沙箱,但必須明確設定連出連線的功能。
在項目導覽器中選取您的專案,選取 [ 功能 ] 索引標籤,如果您的應用程式正在使用沙箱,請啟用連出連線。
太好了,您已準備好在 SDK 自動收集的門戶網站上視覺化分析數據和崩潰數據。
查看 App Center 分析檔 與 App Center 當機檔 ,瞭解如何自定義和使用每個服務的進階功能。