使用 JusTalk Cloud SDK for iOS
简介
本篇文档描述了 JusTalk Cloud SDK for iOS(以下简称 SDK) 的导入和初始化,请完成以下步骤:准备 SDK 文件、文件拷贝、工程设置和 SDK 初始化。在完成 SDK 的导入和初始化之后,您的 APP 才能开始集成音视频会议等功能。
准备 SDK 文件
若您还未获取 SDK,请到 JusTalk Cloud 网站的 SDK 下载页面, 选择并下载会议服务的 iOS SDK。
在 Mac 环境下解压下载的压缩包,解压后的文件内包含了 JCSDK 和 Project 这两个文件。
JCSDK 是我们要导入的 SDK 文件,该文件内包含了 include、lib 和 JCApi.framework 三个文件。
- include 包含了一些头文件;
- lib 包含了 libmtc.a 和 libzmf.a 两个库文件;
- JCApi.framework 是 JCApi 接口文件。
Project 文件内包含了一个可运行的工程,该工程简单实现了会议的功能。
文件拷贝
拷贝整个 JCSDK 文件到您的工程所在目录文件下
拷贝完成后,应如下图(仅供参考,也许您的工程有专门放置第三方库的目录文件)
工程设置
具体步骤如下:
导入 iOS 系统库,完成后应包含图示中的6个库,如下图
打开您的工程,点击 Build Phases -> 展开 Link Binary with Libraries -> 点击"+",如下图
添加对应的6个库,如下图
导入 JCSDK 目录中的 lib 库文件,点击 Build Phases -> 展开 Link Binary with Libraries -> 点击"+" -> 点击 Add Other,如下图
选择 JCSDK目录 -> lib目录 -> ios目录 -> libmtc.a和libzmf.a文件,并导入这两个文件
导入完成后,应如下图
导入 JCApi.framework,导入过程请参照第2步,结果应如下图
设置路径,点击 Build Settings -> 展开 Search Paths,如下图
设置 Library Search Paths,设置 lib 库文件的路径。在完成第2步后,Xcode 会自动生成该路径,如下图
注:如果 Xcode 没有自动生成路径,用户要根据 lib 库文件所在目录,手动设置路径。
比如Demo工程中的路径
$(PROJECT_DIR)/3rd/JCSDK/lib/ios
$(PROJECT_DIR)表示工程所在目录。
/3rd/JCSDK/lib/ios表示 lib 库文件所在目录的层级关系。
设置 Header Search Paths,设置头文件的路径。必须手动设置,可复制 Library Search Paths 的路径
$(PROJECT_DIR)/3rd/JCSDK/lib/ios
,然后把末尾的lib/ios
替换成include
,结果如下图设置 Framework Search Paths,设置 JCApi.framework 文件的路径。在完成第3步后,Xcode 会自动生成该路径(如果没有自动生成该路径,请手动设置路径),如下图
设置 Enable Bitcode 为 NO,点击 Build Settings -> 展开 Build Options -> Enable Bitcode 设置为 NO,如下图
设置 Other Linker Flags 的参数 -ObjC ,点击 Build Settings -> 展开 Linking -> Other Linker Flags 增加参数 -ObjC,如下图
设置预处理宏定义,点击 Build Settings -> 展开 Apple LLVM - Preprocessing -> 在 Preprocesser Macros 右侧输入
ZPLATFORM=ZPLATFORM_IOS
,如下图设置 Documentation Comments 为 NO,点击 Build Settings -> 展开 Apple LLVM - Warnings - All languages -> Documentation Comments 设置为 NO,如下图
设置后台运行模式,点击 Capabilities -> Background Modes 设为 ON -> 勾选 Audio, AirPlay, and Picture in Picture,如下图
设置麦克风和摄像头的权限,点击 Info -> 添加麦克风和摄像头的权限,如下图
SDK 初始化
导入 JCApi.framework 的头文件
#import <JCApi/JCApi.h>
可在 App 启动的方法中调用
JCEngineManager
的初始化接口initializeWithAppkey
,如下- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // SDK初始化,MY_APP_KEY为用户申请到的appkey int ret = [[JCEngineManager sharedManager]] initializeWithAppkey:MY_APP_KEY]; if (ret == JCEOK) { NSLog(@"初始化成功"); } return YES; }
编译工程(可按 Command + B),工程编译成功并且初始化接口返回 JCOK ,则表示 SDK 导入和初始化成功。
如果编译失败,请对照工程设置步骤和 SDK 导入和初始化常见问题。
SDK 导入和初始化常见问题
Library Search Paths lib 库文件的路径设置错误,参考工程设置第4步是否设置正确,错误如下图
Header Search Paths 头文件的路径设置错误,参考工程设置第4步是否设置正确,错误如下图
Framework Search Paths 路径设置错误,参考工程设置第4步是否设置正确,错误如下图