開始使用 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 入口網站中建立應用程式,您可以略過此步驟。
- 請前往 appcenter.ms。
- 註冊或登入並叫用入口網站右上角的藍色按鈕,指出 [ 新增 ],然後從下拉功能表中選取 [ 新增應用程式 ]。
- 輸入應用程式的名稱和選擇性描述。
- 選取 [iOS ] 作為 [OS],然後選取 [Objective-C/Swift ] 作為平臺。
- 按兩下角按鈕指出 [新增應用程式]。
建立應用程式之後,您可以在 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 可以透過 Cocoapods、 Carthage 或手動將二進位檔新增至您的專案,來整合到您的應用程式中。
3.1 透過Cocoapods整合
將下列相依性新增至 ,
podfile
以將App Center當機納入您的應用程式。 這會提取下列架構:AppCenter 和 AppCenterCrashes。pod 'AppCenter/Crashes'
執行
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 的步驟,這是建置相依性的分散式相依性管理員,並提供二進位架構。
將下列相依性新增至您的
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
執行
carthage update
。 這會擷取相依性至 Carthage/Checkouts 資料夾,然後建置每個架構。開啟應用程式目標的 [一般設定] 索引標籤。將 AppCenter.framework 和 AppCenterCrashes.framework 檔案從 Carthage/Build/ 資料夾拖放到 Xcode 的項目導覽器中。 需要 AppCenter.framework 才能啟動 SDK。 如果未將它新增至專案,其他模組將無法運作,而且您的應用程式不會編譯。
隨即會出現對話框,確定已檢查您的應用程式目標。 然後按一下 [ 完成]。
注意
如果您在建置階段中使用
carthage copy-frameworks
,就不應該在該 處 新增App Center SDK,因為它們會以靜態架構的形式出貨。
現在您已在應用程式中整合架構,接下來就可以啟動 SDK 並利用 App Center 服務。
3.3 透過 Swift 套件管理員整合
- 從 [Xcode] 功能表中,單擊 [ 檔案 > Swift 套件 > 新增套件相依性]。
- 在出現的對話框中,輸入存放庫 URL: https://github.com/microsoft/appcenter-sdk-apple.git。
- 在 [版本] 中,選取 [最高到下一個主要 ],然後採用默認選項。
- 選擇 [ 套件產品 ] 資料行中所需的模組。
現在您已在應用程式中整合架構,接下來就可以啟動 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。 它們可以與一般架構整合的方式相同,如下所述。
下載以 zip 檔案的形式提供的 App Center SDK 架構。
將檔案解壓縮,您會看到名為 AppCenter-SDK-Apple 的資料夾,其中包含每個平台資料夾上每個 App Center 服務的不同架構。 專案中需要呼叫
AppCenter
的架構,因為它包含不同模組之間共用的程序代碼。[選擇性]建立第三方連結庫的子目錄。
- 最佳做法是,第三方連結庫通常位於子目錄中,通常稱為 Vendor。 如果專案未使用連結庫的子目錄進行組織,請立即建立 Vendor 子目錄。
- 在 Xcode 專案中建立名為 Vendor 的群組,以模擬磁碟上的檔案結構。
在 Finder 中開啟解壓縮的 AppCenter-SDK-Apple 資料夾,並將資料夾複製到您想要位置的項目資料夾。 資料夾包含 App Center SDK 支援之其他平台子資料夾中的架構,因此您可能需要刪除不需要的子資料夾。
在 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 當機 的檔,以瞭解如何自定義您的應用程式擴充功能,並使用更進階的功能。