iOS SDK接入(Pod集成)
本文介紹如何通過Pod集成方式添加依賴接入遠(yuǎn)程日志服務(wù) 。
接入遠(yuǎn)程日志服務(wù)的iOS SDK可采用Pod集成和手動集成2種方式添加依賴。推薦使用Pod集成方式添加依賴,可大幅簡化接入操作。
如需使用手動集成方式添加依賴,操作方法請參見iOS SDK接入(手動集成)。
前提條件
已創(chuàng)建工作空間/應(yīng)用。
已下載應(yīng)用配置文件。具體內(nèi)容請參見下載配置文件。
使用限制
僅支持iOS 8.0及以上的App。
推薦使用CocoaPods管理依賴的Xcode項目。
日志在手機(jī)端上最多存儲7天 。
接入概述
添加依賴
1:指定官方倉庫和阿里云倉庫。
source "https://github.com/CocoaPods/Specs.git"
source "https://github.com/aliyun/aliyun-specs.git"
2:添加依賴。
pod 'AlicloudTLog', '~> 1.0.2'
執(zhí)行pod search AlicloudTLog
命令,查詢AlicloudTLog
最新版本。
3:執(zhí)行pod install
或者pod update
命令,獲取SDK到項目中。
接入服務(wù)
1:將iOS配置文件AliyunEmasServices-Info.plist
拷貝至項目根目錄。
iOS配置文件獲取方式請參見下載配置文件。
2:在AppDelegate.m
文件中引入頭文件:
#import <AlicloudTLog/AlicloudTlogProvider.h>
#import <AlicloudHAUtil/AlicloudHAProvider.h>
#import <TRemoteDebugger/TRDManagerService.h>
3:在AppDelegate.m
文件的application:didFinishLaunchingWithOptions
方法中,添加代碼段,初始化SDK。
NSString *appVersion = @"x.x"; //配置項:App版本
NSString *channel = @"xx"; //配置項:渠道標(biāo)記
NSString *nick = @"xx"; //配置項:用戶昵稱
[[AlicloudTlogProvider alloc] autoInitWithAppVersion:appVersion channel:channel nick:nick];
[AlicloudHAProvider start];
[TRDManagerService updateLogLevel:TLogLevelXXX]; //配置項:控制臺可拉取的日志級別
參數(shù)說明:
參數(shù) | 說明 |
appVersion | 用于指定App的版本,上報至服務(wù)端,進(jìn)行版本區(qū)分。 【數(shù)據(jù)類型】字符串 【格式要求】自定義 【取值范圍】任意長度 說明 該參數(shù)值將在控制臺顯示為下拉列表選項,建議短小凝練。 【是否必選】是 【是否可為空】否 【默認(rèn)值】無 【大小寫敏感】是。例如,vx.x和Vx.x不是一個版本。 【字符類型】英文大小寫、數(shù)字。 說明 該參數(shù)不支持中文字符、特殊字符。 【示例】 |
channel | 用于指定渠道標(biāo)識,上報至服務(wù)端,進(jìn)行渠道區(qū)分。 【數(shù)據(jù)類型】字符串 【取值范圍】任意長度 【是否必選】是 【是否可為空】否 【默認(rèn)值】無 【字符類型】英文大小寫、數(shù)字。說明:不支持中文字符、特殊字符。 【示例】 |
nick | 用于指定用戶昵稱,上報至服務(wù)端,進(jìn)行用戶區(qū)分。后續(xù)可能依據(jù)該參數(shù),進(jìn)行數(shù)據(jù)檢索。 【數(shù)據(jù)類型】字符串 【取值范圍】任意長度 【是否必選】是 【是否可為空】否 【默認(rèn)值】無 【字符類型】英文大小寫、數(shù)字 說明 該參數(shù)不支持中文字符、特殊字符。 【命名規(guī)范】自定義 【示例】 |
TLogLevelXXX | 用于設(shè)置控制臺可拉取的日志級別。日志級別說明請參見基本概念。 【數(shù)據(jù)類型】枚舉型 【取值范圍】
【是否必選】否 【默認(rèn)取值】TLogLevelInfo 【示例】 |
推薦使用autoInitWithAppVersion
接口接入服務(wù)。如需使用initWithAppKey
接口接入服務(wù),須手動配置appKey
/secret
/tlogRsaSecret
參數(shù)。
打開iOS配置文件,查詢參數(shù)取值:
參數(shù) | 配置文件字段 | 說明 |
appKey | emas.appKey | App標(biāo)識。 |
secret | emas.appSecret | App認(rèn)證信息。 |
appmonitor.tlog.rsaSecret | 遠(yuǎn)程日志公鑰。 |
執(zhí)行編譯
1:在項目的Build Setting中,將Allow Non-modular Includes In Framework Modules
設(shè)置為YES
。
2:執(zhí)行編譯。
編譯過程中如出現(xiàn)
duplicate symbol
類型錯誤,確認(rèn)本地依賴與CocoaPods管理的依賴是否重復(fù);如是,則刪除本地依賴。如同時使用其他阿里云產(chǎn)品,可能會因為依賴中存在UTDID沖突,造成編譯失敗。解決辦法請參見SDK UTTID沖突解決方案。
打印日志
1:如業(yè)務(wù)流程觸發(fā)日志輸出,需引入頭文件:
#import <TRemoteDebugger/TLogBiz.h>
#import <TRemoteDebugger/TLogFactory.h>
#import <TRemoteDebugger/TRDManagerService.h>
2:在適當(dāng)位置添加代碼,輸出日志信息。示例代碼:
TLogBiz *log = [TLogFactory createTLogForModuleName:@"YourModuleName"];
[log error:@"error message"];
[log warn:@"warn message"];
[log debug:@"debug message"];
[log info:@"info message"];
選項 | 說明 |
YourModuleName | 指定保存日志信息的模塊的名稱。 |
error/warn/debug/info message | 根據(jù)實際場景,區(qū)分級別輸出日志信息,便于后續(xù)按照級別進(jìn)行日志信息查詢。日志級別說明請參見基本概念。 |
樣例代碼
遠(yuǎn)程日志服務(wù)iOS SDK接入工程樣例參見:Demo工程。