開始使用macOS
重要
Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到完全淘汰為止,但有數個建議的替代方案可以考慮移轉至。
App Center SDK 使用模組化架構,因此您可以使用任何或所有服務。
讓我們開始在應用程式中設定 App Center macOS SDK,以使用 App Center Analytics 和 App Center 當機。
1.Prerequisites
必須符合下列需求,才能使用App Center SDK:
- macOS 專案是在 macOS 10.14.4 版或更新版本的 Xcode 13 或更新版本中設定。
- 您的目標是在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 ] 作為 [OS],然後選取 [ Objective-C/Swift ] 作為平臺。
- 按下右下角顯示 [新增應用程式] 的按鈕。
建立應用程式之後,您可以在 App Center 入口網站的 [設定] 頁面上取得其應用程式秘密。 在 [ 設定 ] 頁面右上角,按兩下 三個垂直點 ,然後選取 Copy app secret
以取得您的應用程式秘密。
3.新增 App Center SDK 模組
App Center SDK for macOS 可以透過 Cocoapods、 Carthage、 Swift 套件管理員 或手動將二進位檔新增至您的專案,來新增至您的應用程式。
注意
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,然後將它解壓縮。 產生的資料夾內容並非平臺特定,而是包含每個模組的 XCframeworks。 它們可以與一般架構整合的方式相同,如下所述。
下載以 zip 檔案的形式提供的 App Center SDK 架構。
將檔案解壓縮,您會看到名為 AppCenter-SDK-Apple 的資料夾,其中包含每個平台資料夾上每個 App Center 服務的不同架構。 專案中需要呼叫
AppCenter
的架構,因為它包含在不同模組之間共用的程序代碼。[選擇性]建立第三方連結庫的子目錄。
- 第三方連結庫通常位於子目錄中 (通常稱為 Vendor) ,因此如果您的專案不使用連結庫的子目錄,請立即建立 Vendor 子目錄。
- 在 Xcode 專案內建立名為 Vendor 的群組,以模擬磁碟上的檔案結構。
在 Finder 中開啟解壓縮的 AppCenter-SDK-Apple 資料夾,並將資料夾複製到您想要位置的項目資料夾中。 資料夾包含 App Center SDK 支援之其他平台子資料夾中的架構,因此您可能需要刪除不需要的子資料夾。
在 Xcode 中將 SDK 架構新增至專案:
- 請確定項目導覽器在 ⌘+1) (可見。
- 現在,從 Finder 將 AppCenter.framework、 AppCenterAnalytics.framework 和 AppCenterCrashes.framework 拖放 (Vendor 資料夾內的 AppCenter.framework) 到 Xcode 的項目導覽器中。 需要 AppCenter.framework 才能啟動 SDK。 如果遺失其他模組將無法運作,且您的應用程式將無法編譯。
- 對話框隨即出現,請確定已核取您的應用程式目標。 然後按一下 [ 完成]。
注意
SDK 二進位檔未依照macOS架構慣例封裝。 原因是 App Center SDK for Mac 不是傳統架構,而是靜態架構。 您必須將其連結為靜態架構:請確定您未內嵌二進位檔,也不會將它們包含在「複製套件組合資源」建置階段。
既然您已在應用程式中整合架構,現在可以啟動 SDK 並使用 App Center 服務。
4.啟動 SDK
若要使用 App Center,您必須加入加入您想要使用的模組 () 。 根據預設,不會啟動任何模組,而且您必須在啟動 SDK 時呼叫每一個模組。 如果您要開發延伸模組,請參閱 擴充功能入門頁面。
4.1 新增匯入語句
開啟專案的 AppDelegate 檔案,並新增下列 import 語句:
@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 Analytics 和 App Center 當機。
如果您不想使用這兩個服務之一,請從上述方法呼叫中移除對應的參數。
除非您在 start 方法中明確將每個模組指定為參數,否則您無法使用該 App Center 服務。 此外, start:withServices
Swift) API 的 (start(withAppSecret:services:)
只能在您應用程式的生命週期中使用一次,所有其他呼叫都會將警告記錄到控制台,而且只有第一次呼叫中包含的模組可供使用。
例如 - 如果您想要上線至 App Center Analytics,您應該修改 start:withServices
Swift) API 呼叫的 (start(withAppSecret:services:)
,如下所示:
[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self])
4.4 新增沙盒化應用程式的因特網功能
如果您的應用程式使用應用程式沙箱,您必須設定允許傳出 (用戶端) 連線的功能,讓應用程式能夠存取因特網。 Xcode 9 預設會啟用應用程式沙箱,但必須明確設定連出連線的功能。
在項目導覽器中選取您的專案,選取 [ 功能 ] 索引標籤,如果您的應用程式正在使用沙箱,請啟用連出連線。
好,您全都已設定為在 SDK 自動收集的入口網站上視覺化分析和當機數據。
查看 App Center Analytics 檔和 AppCenter 當機檔 ,以瞭解如何自定義和使用每項服務的進階功能。