開始使用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 入口網站中建立您的應用程式,您可以略過此步驟。

  1. 前往 appcenter.ms
  2. 註冊或登入入口網站右上角的藍色按鈕 ,指出 [ 新增],然後從下拉功能表中選取 [ 新增應用程式 ]。
  3. 輸入應用程式的名稱和選擇性描述。
  4. 選取 [macOS ] 作為 [OS],然後選取 [ Objective-C/Swift ] 作為平臺。
  5. 按下右下角顯示 [新增應用程式] 的按鈕。

建立應用程式之後,您可以在 App Center 入口網站的 [設定] 頁面上取得其應用程式秘密。 在 [ 設定 ] 頁面右上角,按兩下 三個垂直點 ,然後選取 Copy app secret 以取得您的應用程式秘密。

3.新增 App Center SDK 模組

App Center SDK for macOS 可以透過 CocoapodsCarthageSwift 套件管理員 或手動將二進位檔新增至您的專案,來新增至您的應用程式。

注意

4.0.0在 App Center 重大變更版本中引進。 遵循 移轉至 App Center SDK 4.0.0 和更新 版本一節,從舊版移轉 App Center。

3.1 透過Cocoapods整合

  1. 將下列相依性新增至您的 podfile ,以將App Center Analytics和App Center當機納入您的應用程式。 這會提取下列架構:AppCenter、AppCenterAnalyticsAppCenterCrashes 相反地,您可以指定您想要在應用程式中使用的服務。 每個服務都有自己的子指定,而且全都依賴 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'
    
  2. 執行 pod install 以安裝新定義的 Pod,並開啟項目的 .xcworkspace

既然您已在應用程式中整合架構,現在可以啟動 SDK 並使用 App Center 服務。

3.2 透過 Carthage 整合

以下是如何使用 Carthage0.30 版或更高版本在 Xcode 專案中整合 App Center SDK 的步驟,這是一個分散式相依性管理員,可建置您的相依性並提供二進位架構。

  1. 將下列相依性新增至您的 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
    
  2. 執行 carthage update --platform macOS。 這會將相依性擷取到 Carthage/Checkouts 資料夾中,然後建置每個架構。

  3. 開啟應用程式的 [ 一般 設定] 索引標籤。將 AppCenter.frameworkAppCenterAnalytics.frameworkAppCenterCrashes.framework 檔案從 Carthage/Build/macOS 資料夾拖放到 Xcode 的項目導覽器中。 需要 AppCenter.framework 才能啟動 SDK。 如果未將它新增至專案,其他模組將無法運作,且您的應用程式不會編譯。

  4. 對話框隨即出現,請確定已核取您的應用程式目標。 然後按一下 [ 完成]。

    注意

    如果您在建置階段中使用 carthage copy-frameworks ,則不應該在 App Center SDK 隨附為靜態架構時將其新增至該處。

既然您已在應用程式中整合架構,現在可以啟動 SDK 並使用 App Center 服務。

3.3 透過 Swift 套件管理員整合

  1. 從 [Xcode] 功能表中,單擊 [ 檔案 > Swift 套件 > ] [新增套件相依性]。
  2. 在出現的對話框中,輸入存放庫 URL: https://github.com/microsoft/appcenter-sdk-apple.git
  3. [版本] 中,選取 [上一步主要 ],並採用默認選項。
  4. 在 [ 套件產品 ] 資料行中選擇您需要的模組。

既然您已在應用程式中整合架構,現在可以啟動 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。 它們可以與一般架構整合的方式相同,如下所述。

  1. 下載以 zip 檔案的形式提供的 App Center SDK 架構。

  2. 將檔案解壓縮,您會看到名為 AppCenter-SDK-Apple 的資料夾,其中包含每個平台資料夾上每個 App Center 服務的不同架構。 專案中需要呼叫 AppCenter 的架構,因為它包含在不同模組之間共用的程序代碼。

  3. [選擇性]建立第三方連結庫的子目錄。

    • 第三方連結庫通常位於子目錄中 (通常稱為 Vendor) ,因此如果您的專案不使用連結庫的子目錄,請立即建立 Vendor 子目錄。
    • 在 Xcode 專案內建立名為 Vendor 的群組,以模擬磁碟上的檔案結構。
  4. 在 Finder 中開啟解壓縮的 AppCenter-SDK-Apple 資料夾,並將資料夾複製到您想要位置的項目資料夾中。 資料夾包含 App Center SDK 支援之其他平台子資料夾中的架構,因此您可能需要刪除不需要的子資料夾。

  5. 在 Xcode 中將 SDK 架構新增至專案:

    • 請確定項目導覽器在 ⌘+1) (可見。
    • 現在,從 Finder 將 AppCenter.frameworkAppCenterAnalytics.frameworkAppCenterCrashes.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 服務,您應該:

  1. 使用應用程式密碼進行設定或啟動。
  2. 如果可以多次呼叫程式代碼,請檢查App Center是否已設定。
  3. 在沒有應用程式密碼的情況下,啟動必要的服務 () 。
[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:withServicesstart(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 當機檔 ,以瞭解如何自定義和使用每項服務的進階功能。