開始使用tvOS
重要
Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到完全淘汰為止,但有數個建議的替代方案可以考慮移轉至。
App Center SDK 使用模組化架構,因此您可以使用任何或所有服務。
讓我們開始在應用程式中設定 App Center tvOS SDK,以使用 App Center Analytics 和 App Center 當機。
1.Prerequisites
必須符合下列需求,才能使用App Center SDK:
- 您的tvOS是在tvOS 11版或更新版本上的 Xcode 13 或更新版本中設定。
- 您不會使用任何其他提供損毀報告功能的連結庫。
2.在 App Center 入口網站中建立您的應用程式,以取得應用程式秘密
如果您已在 App Center 入口網站中建立您的應用程式,您可以略過此步驟。
- 前往 appcenter.ms。
- 註冊或登入入口網站右上角的藍色按鈕 ,指出 [ 新增],然後從下拉功能表中選取 [ 新增應用程式 ]。
- 輸入應用程式的名稱和選擇性描述。
- 選取 tvOS 作為OS,並以 Objective-C/Swift 作為平臺。
- 按下右下角顯示 [新增應用程式] 的按鈕。
建立應用程式之後,您可以在 App Center 入口網站的 [設定] 頁面上取得其應用程式秘密。 在 [ 設定 ] 頁面右上角,按兩下 三個垂直點 ,然後選取 Copy app secret
以取得您的應用程式秘密。
3.新增 App Center SDK 模組
App Center SDK for tvOS 可以透過 Cocoapods、 Carthage、 Swift 套件管理員 或手動將二進位檔新增至您的專案,整合至您的應用程式。
注意
4.0.0
在 App Center 重大變更版本中引進。 遵循 移轉至 App Center SDK 4.0.0 和更新 版本一節,從舊版移轉 App Center。
3.1 透過Cocoapods整合
將下列相依性新增至您的
podfile
,以將App Center Analytics和App Center當機納入您的應用程式。 這會提取下列架構:AppCenter、AppCenterAnalytics 和 AppCenterCrashes。 相反地,您可以指定您想要在應用程式中使用的服務。 每個服務都有自己的子指定,而且全都依賴AppCenter
。 它會自動提取。# Use the following line to use App Center Analytics and Crashes. pod 'AppCenter' # Use the following lines if you want to specify which service you want to use. pod 'AppCenter/Analytics' pod 'AppCenter/Crashes'
執行
pod install
以安裝新定義的 Pod,並開啟項目的.xcworkspace
。
既然您已在應用程式中整合架構,現在可以啟動 SDK 並使用 App Center 服務。
3.2 透過 Carthage 整合
以下是如何使用 Carthage0.30 版或更高版本在 Xcode 專案中整合 App Center SDK 的步驟,這是一個分散式相依性管理員,可建置您的相依性並提供二進位架構。
將下列相依性新增至您的
Cartfile
,以將App Center Analytics和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 --platform tvOS
。 這會將相依性擷取到 Carthage/Checkouts 資料夾中,然後建置每個架構。開啟應用程式的 [ 一般 設定] 索引標籤。將 AppCenter.framework、 AppCenterAnalytics.framework 和 AppCenterCrashes.framework 檔案從 Carthage/Build/tvOS 資料夾拖放到 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 專案中整合已編譯二進位檔的步驟,以為您的 tvOS 應用程式設定 App Center Analytics 和 App Center 當機。
注意
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、 AppCenterAnalytics.framework 和 AppCenterCrashes.framework 拖放 (Vendor 資料夾內的 AppCenter.framework) 到 Xcode 的項目導覽器中。 需要 AppCenter.framework 才能啟動 SDK,請確定它已新增至您的專案,否則其他模組將無法運作,且您的應用程式不會編譯。
- 對話框隨即出現,請確定已核取您的應用程式目標。 然後按一下 [ 完成]。
注意
SDK 二進位檔未依照tvOS架構慣例進行封裝。 原因是 App Center SDK for tvOS 不是傳統架構,而是靜態架構。 您必須將其連結為靜態架構:請確定您未內嵌二進位檔,且不會將它們包含在「複製套件組合資源」建置階段。
既然您已在應用程式中整合架構,現在可以啟動 SDK 並使用 App Center 服務。
4.啟動 SDK
若要使用 App Center,您必須加入加入您想要使用的模組 () 。 根據預設,不會啟動任何模組,而且您必須在啟動 SDK 時明確呼叫每個模組。
4.1 新增匯入語句
開啟專案的 AppDelegate 檔案,並新增下列 import 語句:
@import AppCenter;
@import AppCenterAnalytics;
@import AppCenterCrashes;
import AppCenter
import AppCenterAnalytics
import AppCenterCrashes
4.2 新增 start:withServices:
方法
在應用程式的 didFinishLaunchingWithOptions
委派方法中插入下列這一行:
[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self])
警告
不建議在原始碼中內嵌您的應用程式密碼。
如果您需要個別啟動 App Center 服務,您應該:
- 使用應用程式密碼進行設定或啟動。
- 如果可以多次呼叫程式代碼,請檢查App Center是否已設定。
- 在沒有應用程式密碼的情況下,啟動必要的服務 () 。
[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
start(withAppSecret:services:)
(for Swift) 方法,並同時包含 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 當機 的檔,瞭解如何自定義和使用這兩項服務的更進階功能。