前置条件
环境要求
iOS >= 9.0
Xcode >= 10.0
组件依赖
tars
MQQComponents
TMFShark
SSZipArchive
PromiseObjC
MJRefresh
SocketRocket
Brotli
CocoaAsyncSocket
集成方式
TCMPPSDK 可通过以下方式进行集成:
CocoaPods 集成
手动集成
SPM集成
CocoaPods 集成
1. 在您项目中的 Podfile 文件里添加源及小程序依赖模块:
#Pods 仓库
source 'https://github.com/TCMPP-Team/tcmpp-repo.git'
target 'YourTarget' do
# ――― TCSAS -----―――――――――――――――――――――――――――――――――――――――――――――――――――――--- #
pod 'TCMPPSDK'
pod 'TCMPPExtScanCode'
pod 'TCMPPExtMedia'
#预置基础库
pod 'TCSASBaseLib'
end
其中,YourTarget为您的项目需要引入SDK的 target 的名字。
2. Terminal cd 到 Podfile 文件所在目录,并执行 pod install 进行组件安装。
手动集成
1. 添加 SDK
将 SDK 组件的目录添加到您项目的 Xcode Project 中的合适位置,并选择合适的 target。
您可以把组件的目录从 Finder 直接拖动到 Xcode Project 中,以进行快捷添加。
2. 添加依赖的 SDK
把 SDK 依赖的所有组件添加到项目中,依赖的组件列表,请参见前置条件中的 组件依赖。 3. 添加依赖的系统库
把 SDK 依赖的系统库添加到项目中,在 Xcode 中打开 project 设置页,选中相关的 target,单击 General,在“Linked Frameworks and Libraries”中进行添加。
4. 系统库依赖如下:
Foundation.framework
CoreTelephony.framework
CFNetwork.framework
Security.framework
SystemConfiguration.framework
CoreService.framework
CoreFoundation.framework
libz.tbd
libc++.tbd
libc.tbd
libbz2.tbd
libsqlite3.0.tbd
5. project 设置
添加 SDK 后,需要进行相关的 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,添加 SDK 资源文件:
SPM工程集成
选择版本规则(建议使用 Up to Next Major Version),最后点击 Add Package 按钮。
添加 SDK 后,您需要在 Xcode 中进行以下项目设置:
选择 Build Settings > Linking > Other Linker Flags 然后添加 -ObjC。
获取配置文件
小程序 SDK 的初始化依赖于从小程序控制台获取的小程序 SDK 配置文件;在开始集成小程序 SDK 前,需要从小程序控制台获取小程序 SDK 配置文件。
登录控制台后,请单击创建 superapp:
填写 superapp 信息:
添加应用包名:
下载配置文件:
注意:
默认下载的配置文件的名称为:tcsas-ios-configurations.json
添加配置文件到项目
获取配置文件后,需要将配置文件添加到 superapp 源码工程中:
注意:
iOS 工程的 bundleId 必须与控制台中配置的 bundleId 保持一致,否则会导致 SDK 初始化异常。
增加权限设置
如果您只集成了 SDK 的核心库,即 TCMPPSDK,需要在 info.plist 文件中添加权限申请信息。
其中核心 SDK(TCMPPSDK) 涉及的权限:
|
相册写入 | NSPhotoLibraryAddUsageDescription | saveImageToPhotosAlbum、saveVideoToPhotosAlbum |
相机 | NSCameraUsageDescription | CameraContext(Camera 组件) |
麦克风 | NSMicrophoneUsageDescription | CameraContext(Camera 组件) |
如果您需要使用扩展 SDK,那么就要在项目的 info.plist 文件中添加对应的权限申请信息。
设置设备支持横屏
SDK 中的 loading 页面,video 组件等都支持横屏效果,但前提是 superapp 工程支持横屏。
请在 Xcode 设置中勾选以下选项:
注意:
如果不勾选横屏,那么 SDK 中涉及到横屏的功能就没有效果。
引入头文件
把 头文件 引入到 AppDelegate 中。
#import <TCMPPSDK/TCMPPSDK.h>
配置信息设置
根据配置文件初始化 TMAServerConfig 对象,并使用 TMAServerConfig 初始化小程序引擎。
SDK 可以支持直接进行引擎初始化,提前准备网络链接,并更新基础库信息和配置信息,加速后小程序加载,也可以支持在需要的时候进行初始化。
参考代码:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"tcsas-ios-configurations" ofType:@"json"];
if(filePath) {
TMAServerConfig *config = [[TMAServerConfig alloc] initWithFile:filePath];
[[TMFMiniAppSDKManager sharedInstance] setConfiguration:config];
}
其它初始化动作
使用者可根据需要,设置开放接口实现实例。如果需要集成扩展模块时,初始化扩展接口准备。
[TMFMiniAppSDKManager sharedInstance].miniAppSdkDelegate = [MIniAppDemoSDKDelegateImpl sharedInstance];
MIniAppDemoSDKDelegateImpl必须实现TMFMiniAppSDKDelegate协议,可以参考 介绍 和 Demo 工程中的 MIniAppDemoSDKDelegateImpl 文件。 打开小程序
可以通过 AppId 直接调用 API 打开小程序。
[[TMFMiniAppSDKManager sharedInstance] startUpMiniAppWithAppID:appId parentVC:self completion:^(NSError * _Nullable error) {
NSLog(@"open applet error:%@",error);
}];