共用方式為


開始使用 iOS

這很重要

Visual Studio App Center 於 2025 年 3 月 31 日淘汰,但分析和診斷功能除外,這些功能將持續支援到 2026 年 6 月 30 日。 瞭解更多資訊。

App Center SDK 使用模組化架構,因此您可以使用任何或所有服務。

您可以在 App Center SDK 所收集的數據、一般數據保護規定常見問題頁面上,找到 App Center 所收集的數據相關信息。 此外, 常見問題 也包含您需要提供 App Store 隱私權設定的解答。

讓我們開始在您的應用程式中設定 App Center iOS SDK,以使用 App Center 分析與 App Center 當機。 若要將 App Center 發佈新增至您的應用程式,請參閱 App Center 發佈 的檔案。

1.Prerequisites

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

  • 您的 iOS 專案是在 macOS 10.14.4 版或更新版本的 Xcode 13 或更新版本中設定。
  • 您的目標是在 ios 11.0 或更新版本上執行的裝置。
  • 您未使用任何其他提供崩潰報告功能的函式庫(僅適用於 App Center 崩潰報告)。
  • 如果您使用 CocoaPods 來整合 App Center,則需要 CocoaPods 1.10 版或更新版本。

App Center SDK 分析和當機可透過 XCFramework 或 SwiftPM 與 Mac Catalyst 相容。

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

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

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

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

3.新增 App Center SDK 模組

App Center iOS SDK 可以透過 CocoaPodsCarthageSwift Package Manager,或手動將二進位檔添加到您的專案中來集成到您的應用程式。

備註

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

3.1 透過Cocoapods整合

備註

ARM64 模擬器(從 Apple Silicon Mac 上執行的 Xcode 啟動時)不支援透過 CocoaPods 執行,請考慮使用其他整合方法來運作。

  1. 將下列相依性新增至您的 podfile ,以將App Center Analytics和App Center當機納入您的應用程式。 此動作會提取下列架構: AppCenterAppCenterAnalyticsAppCenterCrashes。 相反地,您可以在應用程式中指定您想要的服務。 每個服務都有自己的子規格,且全都依賴AppCenter。 它會自動拉入。

     # Use the following line to use App Center Analytics and Crashes.x
     pod 'AppCenter'
    
     # Use the following lines if you want to specify which service you want to use.
     pod 'AppCenter/Analytics'
     pod 'AppCenter/Crashes'
     pod 'AppCenter/Distribute'
    
  2. 執行 pod install 以安裝新定義的 Pod,並開啟項目的 .xcworkspace

備註

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

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

3.2 透過 Carthage 整合

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

備註

Carthage整合在 Xcode 12 中無法自動運作。 若要讓它正常運作,請參閱 此 Carthage 指示

  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.frameworkAppCenterAnalytics.frameworkAppCenterCrashes.framework 檔案從 Carthage/Build/iOS 資料夾拖放到 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 專案中整合已編譯的二進位檔,以設定 iOS 應用程式的 App Center Analytics 和 App Center 當機的步驟。

備註

App Center SDK 支援使用 XCframework。 如果您想要將 XCframeworks 整合到專案中,請從發行頁面下載 AppCenter-SDK-Apple-XCFramework.zip,並將它解壓縮。 產生的資料夾內容不是針對特定平臺,而是包含每個模組的 XCframework。 它們可以和一般架構一樣整合,如下所述。

  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. 將 SDK 架構新增至 Xcode 中的專案:

    • 請確定 [項目導覽器] 為可見的 (⌘+1)。
    • AppCenter.frameworkAppCenterAnalytics.frameworkAppCenterCrashes.framework 從 Finder 中(位於前一個步驟的路徑)拖放到 Xcode 的專案導航欄中。 需要 AppCenter.framework 才能啟動 SDK。 如果未將它新增至專案,其他模組將無法運作,而且您的應用程式不會編譯。
    • 對話框將會出現,請確定已選取您的應用程式目標。 然後按一下 [ 完成]。

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

4.啟動 SDK

若要使用 App Center,請加入您想要使用的模組。 根據預設,不會啟動任何模組,而且您必須在啟動 SDK 時呼叫每個模組。

下列指示會根據您使用的生命週期稍有不同。 從 Xcode 12 開始,您可以選取兩個生命週期的其中一個:“Swift UI 應用程式”(預設在 Xcode 12 中選取)和 “UI Kit AppDelegate”。 如果您要開發延伸模組,請參閱 延伸模組入門頁面

4.1 新增匯入語句

開啟專案的 AppDelegate 檔案(適用於 UI 套件 AppDelegate 生命週期)或 <ProjectName>App.swift 檔案(適用於 Swift UI 應用程式生命週期),並新增下列匯入語句:

@import AppCenter;
@import AppCenterAnalytics;
@import AppCenterCrashes;
import AppCenter
import AppCenterAnalytics
import AppCenterCrashes

4.2 新增 start:withServices: 方法

UI 工具包 AppDelegate

將初始化程式代碼新增至 didFinishLaunchingWithOptions 委派方法:

[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self])

Swift UI 應用程式生命週期

若要確定 App Center SDK 與 Swift UI 正常運作,請在 UI 載入之後將其初始化。 達成此目的最簡單的方式是使用 UIApplicationDelegate:

class AppDelegate: NSObject, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
          AppCenter.start(withAppSecret: "{Your App Secret}", services:[
            Crashes.self, Analytics.self, Distribute.self])
        return true
    }
}

然後在 UIApplicationDelegateAdaptor 中使用 struct

@main
struct YourAppName: App {

  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

如果您有 Catalyst 應用程式,您可以同時傳遞 iOS 和 macOS 的應用程式秘密:

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 分析與 App Center 當機。

如果您不想使用這兩個服務之一,請從上述方法呼叫中移除對應的參數。

除非您明確將每個模組指定為 start 方法中的參數,否則您無法使用該 App Center 服務。 此外, start:withServices 在應用程式的生命週期中,只能使用 (start(withAppSecret:services:) for Swift) API 一次– 所有其他呼叫都會將警告記錄至主控台,而且只會提供第一次呼叫中包含的模組。

例如 - 如果您想要上線至 App Center Analytics,您應該修改 start:withServicesstart(withAppSecret:services:) for Swift) API 呼叫,如下所示:

[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self])

太好了,您已準備好在 SDK 自動收集的門戶網站上視覺化分析數據和崩潰數據。

查看 App Center 分析檔App Center 當機檔 ,瞭解如何自定義和使用這兩項服務的更進階功能。

若要了解如何開始使用應用程式內更新,請閱讀 App Center 發布的檔案。