本文介紹如何使用Pod集成方式接入性能分析服務的iOS SDK。
iOS SDK接入可采用Pod集成和手動集成兩種方式。推薦使用Pod集成方式接入性能分析服務,可大幅簡化接入操作。
如需使用手動集成方式接入性能分析服務的iOS SDK,操作方法參見:iOS SDK接入(手動集成)
前提條件
使用限制
僅支持iOS 8.0及以上的App。
接入概述
通過iOS SDK接入性能分析服務的操作步驟如下:
添加依賴
指定官方倉庫和阿里云倉庫。
source "https://github.com/CocoaPods/Specs.git" source "https://github.com/aliyun/aliyun-specs.git"
添加依賴。
pod 'AlicloudAPM', '1.1.1'
說明執行
pod search AlicloudAPM
命令,查詢AlicloudAPM最新版本。執行
pod update
命令,保存設置。
接入服務
將iOS配置文件
AliyunEmasServices-Info.plist
拷貝至項目根目錄。說明iOS配置文件的獲取方式請參見前提條件。
在
AppDelegate.m
文件的application:didFinishLaunchingWithOptions
方法中初始化SDK。引入頭文件:
#import <AlicloudAPM/AlicloudAPMProvider.h> #import <AlicloudHAUtil/AlicloudHAProvider.h>
添加代碼段:
NSString *appVersion = @"xxx"; NSString *channel = @"xxx"; NSString *nick = @"xxx"; [[AlicloudAPMProvider alloc] autoInitWithAppVersion:appVersion channel:channel nick:nick]; [AlicloudHAProvider start];
配置說明:
配置項
說明
appVersion
用于指定App的版本,上報至服務端,進行版本區分。
【數據類型】字符串
【格式要求】自定義
【取值范圍】任意長度
說明該參數值將在控制臺顯示為下拉列表選項,建議短小凝練。
【是否必選】是
【是否可為空】否
【默認值】無
【大小寫敏感】是。例如,vx.x和Vx.x不是一個版本。
【字符類型】英文大小寫、數字。
說明該參數不支持中文字符、特殊字符。
【示例】
NSString *appVersion = @"2.3";
channel
用于指定渠道標識,上報至服務端,進行渠道區分。
【數據類型】字符串
【取值范圍】任意長度
【是否必選】是
【是否可為空】否
【默認值】無
【字符類型】英文大小寫、數字。
說明該參數不支持中文字符、特殊字符。
【示例】
NSString *channel = @"appstore";
nick
用于指定用戶昵稱,上報至服務端,進行用戶區分。后續可能依據該參數,進行數據檢索。
【數據類型】字符串
【取值范圍】任意長度
【是否必選】是
【是否可為空】否
【默認值】無
【字符類型】英文大小寫、數字。
說明該參數不支持中文字符、特殊字符。
【命名規范】自定義
【示例】
NSString *nick = @"john";
編譯
在項目的
Build Setting
中,將Allow Non-modular Includes In Framework Modules
設置為YES
。執行編譯。
編譯過程中如出現
duplicate symbol
類型錯誤,確認本地依賴與CocoaPods管理的依賴是否重復;如是,則刪除本地依賴。如同時使用其他阿里云產品,可能會因為依賴中存在UTDID沖突,造成編譯失敗。解決辦法請參見SDK UTDID沖突解決方案
樣例代碼
性能分析服務iOS SDK接入工程樣例請參見Demo工程。
功能驗證
iOS SDK接入操作完成后,可操作App,查看性能分析服務控制臺顯示數據,進行功能驗證。
手機端:啟動App。(2分鐘后)控制臺:查看概覽頁簽的啟動速度是否顯示數據。
手機端:在App中跳轉幾個頁面。(2分鐘后)控制臺:查看概覽頁簽的加載時間是否顯示數據。
數據從App采集到控制臺顯示,存在大約2分鐘延遲。
如數據顯示正常,則iOS SDK接入成功;
否則,可能的原因是:SDK接入失敗、SDK未獲取數據、數據發送失敗、后端問題,請聯系技術支持解決。