集成样例代码
前置条件
环境要求
iOS >= 9.0
Xcode >= 10.0
组件依赖
tars
MQQComponents
TMFShark
TMFProfile
SSZipArchive
PromiseObjC
MJRefresh
SocketRocket
Brotli
CocoaAsyncSocket
Lame
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 进行组件安装。
手动集成 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
libbz2.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__
选择Build Phases > Copy Bundle Resources,添加TCMPPSDK资源文件:
Swift工程集成 SDK
集成样例代码
第一次引入 OC 文件时,Xcode 会提示是否创建桥接文件,单击创建。
如果你点击了取消,可以手动新建一个 Header ,命名为"{target名-Bridging-Header.h}",如"TestSwift-Bridging-Header.h"。
并在工程项目的 targets 里的 Build Settings 选项里,找到 Objective-c Bridging Header 选项,设置为创建好的桥接文件。
在该桥接文件里添加代码:
获取配置文件
小程序 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) 涉及的权限:
|
相册写入 | NSPhotoLibraryAddUsageDescription | saveImageToPhotosAlbum、saveVideoToPhotosAlbum |
相机 | NSCameraUsageDescription | CameraContext(Camera组件) |
麦克风 | NSMicrophoneUsageDescription | CameraContext(Camera组件) |
如果您需要使用扩展 SDK,那么就要在项目的 info.plist 文件中添加对应的权限申请信息。
设置设备支持横屏
TCMPP SDK 中的 loading 页面,video 组件等都支持横屏效果,但前提是 App 工程支持横屏。
请在 Xcode 设置中勾选以下选项:
注意:
如果不勾选横屏,那么 SDK 中涉及到横屏的功能就没有效果。
引入头文件
把 TCMPPSDK头文件 引入到 AppDelegate 中。
#import <TCMPPSDK/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);
}];
本页内容是否解决了您的问题?