升级到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到工程

使用在线源

  1. 修改Podfile文件,添加SDK源

    # TMF Release Pods Repo
    source 'https://e.coding.net/tmf-work/tmf/tmf-repo.git'
    
  2. 修改pod方式,指定版本信息

    pod 'TMFJSBridge', '~> 1.2.0'
    
  3. $ pod install

说明说明:如果提示“找不到仓库”,需要先使用IDE工具创建工程来。工具会在钥匙串中写入登录信息。

使用本地文件

  1. 通过SDK下载链接下载SDK归档文件。
    undefined

  2. 将文件解归档至工程目录下。
    undefined

  3. 修改pod方式,添加path信息

    pod 'TMFJSBridge',         :path => './Frameworks/TMFJSBridge'
    
  4. $ 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];

说明说明:需要引用头文件#import "TMFConfigurations.h"

修改SDK日志等级

TMF SDK日志设置现已统一使用TMFBaseCore中的日志级别定义,以TMFinstruction为例,修改如下:

  • 原有日志设置

    [TMFInstructionCenter setLogLevels:TMFInstructionLogLevelAll];
    
  • 现有日志设置

    [TMFInstructionCenter setLogLevels:TMFBaseCoreLogLevelAll];
    
Copyright © 2013-2023 Tencent Cloud. all right reserved,powered by GitbookUpdate Time 2023-08-31 14:46:07

results matching ""

    No results matching ""