開始使用macOS擴充功能

重要

Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到完全淘汰為止,但有數個建議的替代方案可以考慮移轉至。

深入瞭解支持時程表和替代方案。

延伸模組僅支援損毀報告。

若要瞭解如何將App Center SDK新增至容器應用程式,請參閱App Center macOS 使用者入門的檔案。

讓我們開始在應用程式延伸模組中設定 App Center macOS SDK,以使用 App Center 當機。

1.Prerequisites

必須符合下列需求,才能使用App Center SDK:

  • macOS 專案是在 macOS 10.14.4 版或更新版本的 Xcode 13 或更新版本中設定。
  • 您的目標是在macOS 10.13或更新版本上執行的裝置。
  • 您不會使用任何其他提供損毀報告功能的連結庫。

2.在 App Center 入口網站中建立您的應用程式,以取得應用程式秘密

如果您已在 App Center 入口網站中建立您的應用程式,您可以略過此步驟。

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

建立應用程式之後,您可以在 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 可以透過 CocoapodsCarthage 或手動將二進位檔新增至您的專案,來整合到您的應用程式中。

3.1 透過Cocoapods整合

  1. 將下列相依性新增至您的 podfile ,以將App Center當機納入您的應用程式。 這會提取下列架構:AppCenter 和 AppCenterCrashes

     pod 'AppCenter/Crashes'
    
  2. 執行 pod install 以安裝新定義的 Pod,並開啟項目的 .xcworkspace

注意

如果您在執行 時看到類似 [!] Unable to find a specification for `AppCenter` 的錯誤,請執行 pod installpod repo update 以從 Cocoapods 存放庫取得最新的 Pod,然後執行 pod install

既然您已在應用程式中整合架構,現在可以啟動 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。 這會將相依性擷取到 Carthage/Checkouts 資料夾中,然後建置每個架構。

  3. 開啟應用程式的 [ 一般 設定] 索引標籤。將 AppCenter.frameworkAppCenterCrashes.framework 檔案從 Carthage/Build/ 資料夾拖放到 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 專案中整合已編譯二進位檔的步驟,以設定 App Center Crashes for your app extension。

注意

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) (可見。
    • 現在,將 AppCenter.frameworkAppCenterCrashes.framework 從上) 一個步驟的位置 (拖放到 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: 方法

在應用程式延伸模組的進入點中插入下列這一行。 例如,在 Today 擴展名之主要 ViewController 檔案的 方法內 viewDidLoad

[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 當機 的檔,瞭解如何自定義應用程式擴充功能,並使用更進階的功能。