開始使用 iOS

重要

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

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

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

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

讓我們開始在應用程式中設定 App Center iOS SDK,以使用 App Center Analytics 和 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 SDK for iOS 可以透過 CocoapodsCarthageSwift 套件管理員或手動將二進位檔新增至您的專案,來新增至您的應用程式。

注意

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

3.1 透過Cocoapods整合

注意

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

  1. 將下列相依性新增至您的 podfile ,以將App Center Analytics和App Center當機納入您的應用程式。 此動作會提取下列架構:AppCenter、AppCenterAnalyticsAppCenterCrashes 相反地,您可以在應用程式中指定您想要的服務。 每個服務都有自己的子指定,而且全都依賴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 installpod 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,然後將它解壓縮。 產生的資料夾內容並非平臺特定,而是包含每個模組的 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 拖曳到 Xcode 的 Project Navigator 位置) 。 需要 AppCenter.framework 才能啟動 SDK。 如果未將它新增至專案,其他模組將無法運作,而且您的應用程式不會編譯。
    • 隨即會出現對話框,確定已檢查您的應用程式目標。 然後按一下 [ 完成]。

現在您已在應用程式中整合架構,接下來就可以啟動 SDK 並利用 App Center 服務。

4.啟動 SDK

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

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

4.1 新增匯入語句

針對UI Kit AppDelegate 生命週期開啟專案的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
    }
}

然後在 中使用 UIApplicationDelegateAdaptorstruct

@main
struct YourAppName: App {

  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

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

如果您有 Azure 應用程式,您可以同時傳遞 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. 在沒有應用程式密碼的情況下,啟動必要的服務 (s) 。
[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 Swift) 方法的 (start(withAppSecret:services:) ,並同時包含 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])

好,您全都設定為在 SDK 自動收集的入口網站上可視化分析和當機數據。

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

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