升级到1.8.1基线(iOS)
1.8.1基线说明
主要变更
1.8.1基线相较老版本做了较大幅度调整,主要包含如下几个方面:
增加基础库
TMFBaseCore
对TMF各组件进行统一的日志管理。增加基础服务库
TMFBase
来协调TMF各组件启动以及对沙盒文件目录进行统一管理。TMFBase
支持使用json
文件对TMF各组件进行初始化配置。- 调整了框架内部数据存储结构,对不同环境数据做了隔离,支持自由切换配置文件。
- 增强了框架内部问题诊断机制。
必须更新的组件
为了确保组件版本兼容,老用户更新任意组件到1.8.1基线时,都务必确保如下核心组件一起更新到1.8.1基线版本。
s.dependency "TMFBaseCore", "~> 1.0.1"
s.dependency "TMFBase", "~> 1.0.4"
s.dependency "TMFShark", "~> 3.7"
TMFBaseCore
1.8.1基线对TMF SDK日志信息进行了修改,在TMFBaseCore
中定义了日志级别和日志输出函数来对TMF SDK输出至控制台的日志进行处理。
日志定义
typedef NS_OPTIONS (uint32_t, TMFBaseCoreLogLevels) { TMFBaseCoreLogLevelNone = 0, /// <无日志 TMFBaseCoreLogLevelDebug = 1 << 0, /// <调试日志 TMFBaseCoreLogLevelInfo = 1 << 1, /// <普通日志 TMFBaseCoreLogLevelWarn = 1 << 2, /// <警告日志 TMFBaseCoreLogLevelError = 1 << 3, /// <错误日志 TMFBaseCoreLogLevelAll = 0xFFFFFFFF,/// <全部日志 };
日志筛选
// Class TMFBaseCore /** @brief 是否允许BaseCore对控制台日志进行拦截。默认YES。 */ @property (class, nonatomic, assign) BOOL allowBaseCoreLogFilter; /** @brief 日志输出方式。通过指定日志输出方式来全局设置日志输出,方便进行日志筛选。仅在allowBaseCoreLogFilter=YES时有效,仅对控制台日志有效。默认为TMFBaseCoreLogLevelNone。 */ @property (class, nonatomic, assign) TMFBaseCoreLogLevels TMFLogOptions;
TMFBase
1.8.1基线对新增TMFBase
对TMF组件进行管理。具体集成过程可查看设置工程配置文件。
具体迁移步骤
集成SDK到工程
使用在线源
修改
Podfile
文件,添加SDK源# TMF Release Pods Repo source 'https://e.coding.net/tmf-work/tmf/tmf-repo.git'
修改pod方式,指定版本信息
pod 'TMFJSBridge', '~> 1.2.0'
$ pod install
使用本地文件
修改pod方式,添加
path
信息pod 'TMFJSBridge', :path => './Frameworks/TMFJSBridge'
$ pod install
设置工程配置文件
已经部署1.8.1版本TMF控制台及制品库
1.8.1基线组件将多个配置文件整合为json
文件。将由控制台下载的json格式配置文件放入工程中即可使用。TMFServerManager
类负责使用配置文件进行配置。
// AppDelegate.m
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"tmf-ios-configurations" ofType:@"json"];
TMFServerManager *serverManager = [TMFServerManager shareServerManagerWithConfigPath:filePath];
[serverManager activate];
未部署1.8.1版本TMF控制台及制品库
从控制台下载.h格式配置文件放入工程中,使用TMFServerManager
类进行配置。
// AppDelegate.m
// 1.初始化TMFSharkCenterConfiguration
TMFSharkCenterConfiguration *sharkConfig = [TMFSharkCenterConfiguration masterConfiguration];
// 2.对.customerID和.productID进行赋值
sharkConfig.customerID = TMF_CUSTOM_ID;
sharkConfig.productID = TMF_PID;
// 3.创建TMFServerManager对象
TMFServerConfiguration *serverConfig = [TMFServerConfiguration serverConfigurationWithSharkConfiguration:sharkConfig];
TMFServerManager *serverManager = [TMFServerManager shareServerManagerWithConfiguration:serverConfig];
// 4.赋值TMFSharkCenterConfiguration的其他参数
sharkConfig.HTTPURL = TMF_GW_HTTP_URL;
sharkConfig.productKey = TMF_APP_KEY;
sharkConfig.RSAPublicKey = TMF_GW_RKEY;
sharkConfig.SM2PublicKey = TMF_GW_SKEY;
sharkConfig.enforceCheckMasterEvent = NO; // 迁移旧的shark数据,不重新生成GUID
[serverManager activate];
修改SDK日志等级
TMF SDK日志设置现已统一使用TMFBaseCore
中的日志级别定义,以TMFinstruction
为例,修改如下:
原有日志设置
[TMFInstructionCenter setLogLevels:TMFInstructionLogLevelAll];
现有日志设置
[TMFInstructionCenter setLogLevels:TMFBaseCoreLogLevelAll];