tencent cloud

文档反馈

SDK 快速集成

最后更新时间:2024-07-03 18:00:29

    集成样例代码

    前置条件

    环境要求

    iOS >= 9.0
    Xcode >= 10.0

    组件依赖

    tars
    MQQTcc
    MQQComponents
    TMFSSL
    TMFShark
    TMFProfile
    SSZipArchive
    PromiseObjC
    MJRefresh
    Masonry
    SocketRocket
    Brotli
    CocoaAsyncSocket
    Lame
    TMFBaseCore
    TMFJSBridge
    TMFUploader

    集成方式

    TCMPPSDK 的集成方式有以下2种,可选择其一进行集成:
    CocoaPods 集成 SDK
    手动集成 SDK

    CocoaPods 集成 SDK

    1. 在您项目中的 Podfile 文件里添加 TCMPP 源及小程序依赖模块:
    #TCMPP Pods 仓库
    source 'https://e.coding.net/tcmpp-work/tcmpp/tcmpp-repo.git'
    
    target 'YourTarget' do
    # ――― TCMPP -----―――――――――――――――――――――――――――――――――――――――――――――――――――――--- #
    pod 'TCMPPSDK'
    pod 'TCMPPExtScanCode'
    pod 'TCMPPExtMedia'
    
    end
    其中,YourTarget为您的项目需要引入TCMPP的 target 的名字。
    2. Terminal cd 到 Podfile 文件所在目录,并执行 pod install 进行组件安装。
    $ pod install
    说明:
    如果报 Couldn't determine repo type for URL: 'https://e.coding.net/tcmpp-work/tcmpp/tcmpp-repo.git':错误,则需要在执行pod install前执行 pod repo add specs https://e.coding.net/tcmpp-work/tcmpp/tcmpp-repo.git

    手动集成 SDK

    集成样例代码

    1. 添加 SDK
    将 TCMPPSDK 组件的目录添加到您项目的 Xcode Project 中的合适位置,并选择合适的 target。
    您可以把组件的目录从 Finder 直接拖动到 Xcode Project 中,以进行快捷添加。
    
    2. 添加依赖的 SDK
    把 TCMPPSDK 依赖的所有组件添加到项目中,依赖的组件列表,请参见前置条件中的 组件依赖
    3. 添加依赖的系统库
    把 TCMPPSDK 依赖的系统库添加到项目中,在 Xcode 中打开 project 设置页,选中相关的 target,单击 General,在“Linked Frameworks and Libraries”中进行添加。
    4. 系统库依赖如下:
    Foundation.framework
    CoreTelephony.framework
    CFNetwork.framework
    Security.framework
    SystemConfiguration.framework
    CoreService.framework
    CoreFoundation.framework
    libz.tdb
    libc++.tbd
    libc.tbd
    libz2.tbd
    libsqlite3.0.tbd
    5. project 设置
    添加 TCMPPSDK 后,需要进行相关的 Project 设置。在 Xcode 中打开 Project 设置页,选中相关的 target,进行以下设置:
    选择 Build Settings > Linking > Other Linker Flags,增加:-ObjC
    选择 Build Settings > Apple Clang - Custom Compiler Flags > Other C Flags,增加:
    -fshort-wchar
    -D__FIXWCHART__

    Swift工程集成 SDK

    集成样例代码

    第一次引入 OC 文件时,Xcode 会提示是否创建桥接文件,单击创建。
    
    如果你点击了取消,可以手动新建一个 Header ,命名为"{target名-Bridging-Header.h}",如"TestSwift-Bridging-Header.h"。
    并在工程项目的 targets 里的 Build Settings 选项里,找到 Objective-c Bridging Header 选项,设置为创建好的桥接文件。
    
    在该桥接文件里添加代码:
    #import "TCMPPSDK.h"

    获取配置文件

    小程序 SDK 的初始化依赖于从小程序控制台获取的小程序 SDK 配置文件;在开始集成小程序 SDK 前,需要从小程序控制台获取小程序 SDK 配置文件。
    登录控制台后,请单击创建 App:
    
    填写应用信息:
    
    下载配置文件:
    注意:
    默认下载的配置文件的名称为:tcmpp-ios-configurations.json
    

    添加配置文件到项目

    获取配置文件后,需要将配置文件添加到应用程序源码工程中:
    
    注意:
    iOS 工程的 bundleId 必须与配置文件中 bundleId 保持一致,否则小程序 SDK 在运行时无法通过包名校验,导致 SDK 初始化异常。
    如果不一致,不能直接修改配置文件中的 bundleId 字段,应通过下面两种方式来修正:
    修改工程中应用的 bundleId,与配置文件中的 bundleId 一致。
    控制台修改应用的 bundleId,与工程中应用的 bundleId 保持一致,并重新下载配置文件。
    配置文件中的 packageName 字段,需要和当前项目的包名一致。
    
    

    增加权限设置

    如果您只集成了 TCMPP 的核心库,即 TCMPPSDK,需要在 info.plist 文件中添加权限申请信息。
    其中核心 SDK(FinApplet) 涉及的权限:
    权限名称
    权限对应的 KEY
    权限涉及的 API
    相册写入
    NSPhotoLibraryAddUsageDescription
    saveImageToPhotosAlbum、saveVideoToPhotosAlbum
    相机
    NSCameraUsageDescription
    CameraContext(Camera组件)
    麦克风
    NSMicrophoneUsageDescription
    CameraContext(Camera组件)
    如果您需要使用扩展 SDK,那么就要在项目的 info.plist 文件中添加对应的权限申请信息。
    可以查看 扩展组件 SDK 相关文档。

    设置设备支持横屏

    TCMPP SDK 中的 loading 页面,video 组件等都支持横屏效果,但前提是 App 工程支持横屏。
    请在 Xcode 设置中勾选以下选项:
    
    注意:
    如果不勾选横屏,那么 SDK 中涉及到横屏的功能就没有效果。

    引入头文件

    把 TMFMiniAppSDKManager.h 和 TMFAppletConfigManager.h 引入到 AppDelegate 中。
    //TCMPP
    #import "TCMPPSDK.h"

    配置信息设置

    根据配置文件初始化 TMAServerConfig 对象,并使用 TMAServerConfig 初始化 TCMPP 小程序引擎。
    SDK 可以支持直接进行引擎初始化,提前准备网络链接,并更新基础库信息和配置信息,加速后小程序加载,也可以支持在需要的时候进行初始化。
    参考代码:
    //配置使用环境
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"tcmpp-ios-configurations" ofType:@"json"];
    if(filePath) {
    TMAServerConfig *config = [[TMAServerConfig alloc] initWithFile:filePath];
    //直接初始化
    [[TMFMiniAppSDKManager sharedInstance] setConfiguration:config];
    }

    其它初始化动作

    使用者可根据需要,设置开放接口实现实例。如果需要集成扩展模块时,初始化扩展接口准备。
    //设置小程序引擎代理类实现
    [TMFMiniAppSDKManager sharedInstance].miniAppSdkDelegate = [MIniAppDemoSDKDelegateImpl sharedInstance];
    MIniAppDemoSDKDelegateImpl必须实现TMFMiniAppSDKDelegate协议,可以参考 定制 SDK 能力 和 Demo 工程中的 MIniAppDemoSDKDelegateImpl 文件。

    打开小程序

    可以通过 AppId 直接调用 API 打开小程序。
    [[TMFMiniAppSDKManager sharedInstance] startUpMiniAppWithAppID:appId parentVC:self completion:^(NSError * _Nullable error) {
    NSLog(@"open applet error:%@",error);
    }];
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持