開始使用 iOS 擴充功能

重要

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

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

應用程式延伸模組僅支持當機報告。

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

讓我們開始在應用程式擴充功能中設定 App Center iOS SDK,以使用 App Center 當機。

1.Prerequisites

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

  • 您的 iOS 專案是在 macOS 10.14.4 版或更新版本的 Xcode 13 或更新版本中設定。
  • 您是以 ios 11.0 或更新版本上執行的裝置為目標。
  • 您未使用任何其他提供當機報告功能的連結庫。

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

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

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

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

注意

從另一個 iOS 專案使用現有的應用程式秘密會有副作用。 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

注意

如果您在執行 pod install時看到類似 [!] Unable to find a specification for `AppCenter` 的錯誤,請執行 pod 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.framework 和 AppCenterCrashes.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) 。
    • 現在,從上) 一個步驟的 Finder (將 AppCenter.framework 和 AppCenterCrashes.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: 方法

在應用程式延伸模組的進入點中插入下列這一行。 例如, 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 當機 的檔,以瞭解如何自定義您的應用程式擴充功能,並使用更進階的功能。