本章将介绍如何将 SDK 集成到您自己创建的项目中。
创建 iOS 项目
参考以下步骤创建一个 iOS 项目。若已有 iOS 项目,可以直接查看集成 JC SDK。
- 打开 Xcode 并点击 Create a new Xcode project。 
- 选择项目类型为 Single View App,并点击 Next。 
- 输入项目信息,如项目名称、开发团队信息、组织名称和语言,并点击 Next。 
如果您没有添加过开发团队信息,点击 Xcode > Preferences… > Accounts,点击左下角加号并按照屏幕提示登入 Apple ID,完成后即可选择您的账户作为开发团队。
- 选择项目存储路径,并点击 Create。 
- 将您的 iOS 设备连接至电脑。 
- 进入 TARGETS > Project Name > Signing & Capabilities 菜单,勾选 Automatically manage signing。 
集成 SDK
您可以通过以下三种方式中任意一种集成 JC SDK:
方法一:通过 CocoaPods 自动导入静态库
V2.0 及以上的版本支持使用 CocoaPods 导入 SDK。 导入前需要安装 CocoaPods 环境,安装方式参照 CocoaPods 官网 。
CocoaPods 环境安装好后,执行以下操作:
- 打开 Terminal,cd 至项目根目录 
- 执行 pod init,项目文件夹下会生成一个 Podfile 文本文件 
- 执行 open -e Podfile 
- 添加导入配置 - pod 'JuphoonCloudSDK_iOS', '2.1'
- 执行 - pod install,成功安装后,Terminal 中会显示 Pod installation complete!,此时项目文件夹下会生成一个 xcworkspace 文件。
- 双击打开 - xcworkspace文件。
修改后内容如下所示,注意将 Your App 替换为您的 Target 名称。
platform :ios, '9.0'
#use_frameworks!
target 'Your App' do
pod 'JuphoonCloudSDK_iOS', '2.1'
end
V2.1 为当前发布的最新版本,关于指定具体版本请参考 pod 使用规范 。
如果需要更新本地库版本,在执行 pod install 之前执行 pod update 命令。
方法二:手动导入静态库
- 解压并打开下载的 JC SDK 静态库,在 sdk 文件目录下包含 include、lib、JCSDKOC.framework 和 JCCloudWrapper.framework 四个文件夹。 
- 将 - sdk文件夹拷贝到您工程所在的目录下。
- 导入 SDK - 打开 Xcode,进入 TARGETS > Project Name > Build Phases > Link Binary with Libraries 菜单,点击 ‘+’ 符号,导入 sdk 文件夹下的 - JCSDKOC.framework、lib 文件夹下的- libmtc.a和- libzmf.a文件。
- 导入 SDK 依赖的库 - 继续点击 ‘+’ 符号,导入如下系统依赖的库: - AssetsLibrary.framework 
- AudioToolbox.framework 
- VideoToolBox.framework 
- AVFoundation.framework 
- CFNetwork.framework 
- CoreMedia.framework 
- CoreMotion.framework 
- CoreVideo.framework 
- GLKit.framework 
- PushKit.framework(推送使用) 
- ReplayKit.framework 
- Security.framework 
- SystemConfiguration.framework 
- libc++.tbd 
- libz.tbd 
- libresolv.tbd 
 
- 设置路径 - 点击 ‘Build Settings’,找到 Search Paths,设置 Framework Search Paths 、Header Search Paths(头文件路径) 和 Library Search Paths(库文件路径): - Framework Search Paths:$(PROJECT_DIR)/../sdk 
- Header Search Paths:$(PROJECT_DIR)/../sdk/include 
- Library Search Paths:$(PROJECT_DIR)/../sdk/lib/ios 
 - 在完成第 1 步导入 JCSDKOC.framework 和两个 .a 文件后,Xcode 会自动生成该路径,如果 Xcode 没有自动生成路径,用户要根据 - JCSDKOC.framework、- include和- lib文件所在目录,手动设置路径。
- 设置 Enable Bitcode 为 NO - 进入工程中 Target -> Build Settings -> Enable Bitcode,将此项设置为 NO。 
- 设置 Other Linker Flags 的参数为 -ObjC - 进入工程中的 Target -> Build Settings -> Other Linker Flags,在此项中添加 -ObjC。 
- 设置预处理宏定义 - 点击 ‘Build Settings’,找到 Preprocessor Macros,在右侧输入 ZPLATFORM=ZPLATFORM_IOS 。 - 如果设置了 APNs 推送,则还需要在 Preprocessor Macros 下的 Debug 中输入 DEBUG,如下图:   - DEBUG 宏定义的目的是为了区分推送环境是 release 还是 debug,环境不对会导致推送失败。 
- 设置 Documentation Comments 为 NO - 点击 ‘Build Settings’,找到 Documentation Comments 并设置为 NO。 
- 设置后台运行模式 - 进入工程的 Target -> Signing & Capabilities -> Background Modes,勾选如下两项内容: - Audio, AirPlay, and Picture in Picture 
- Voice over IP 
 
方法三:手动导入动态库
- 解压并打开下载的 JC SDK 动态库,在 sdk 文件目录下包含 JCSDKOC.framework 文件。 
- 将 - sdk文件夹拷贝到您工程所在的目录下。
- 导入 SDK - 打开 Xcode,进入 TARGETS > Project Name > General,在 “Embedded Binaries” 一栏,点击 ‘+’ 符号,然后导入 JCSDK 文件夹下的 JCSDKOC.framework。 
- 导入 SDK 依赖的库 - 继续点击 ‘+’ 符号,导入如下系统依赖的库: - AssetsLibrary.framework 
- AudioToolbox.framework 
- VideoToolBox.framework 
- AVFoundation.framework 
- CFNetwork.framework 
- CoreMedia.framework 
- CoreMotion.framework 
- CoreVideo.framework 
- GLKit.framework 
- PushKit.framework(推送使用) 
- ReplayKit.framework 
- Security.framework 
- SystemConfiguration.framework 
- libc++.tbd 
- libz.tbd 
- libresolv.tbd 
 
- 设置路径 - 点击 ‘Build Settings’,找到 Search Paths,设置 Framework Search Paths 、Header Search Paths(头文件路径) 和 Library Search Paths(库文件路径): - Framework Search Paths:$(PROJECT_DIR)/../sdk 
 - 在完成第 1 步导入 JCSDKOC.framework 和两个 .a 文件后,Xcode 会自动生成该路径,如果 Xcode 没有自动生成路径,用户要根据 - JCSDKOC.framework文件所在目录,手动设置路径。
- 设置 Enable Bitcode 为 NO - 进入工程中 Target -> Build Settings -> Enable Bitcode,将此项设置为 NO。 
- 设置 Other Linker Flags 的参数为 -ObjC - 进入工程中的 Target -> Build Settings -> Other Linker Flags,在此项中添加 -ObjC。 
- 设置预处理宏定义 - 点击 ‘Build Settings’,找到 Preprocessor Macros,在右侧输入 ZPLATFORM=ZPLATFORM_IOS 。 - 如果设置了 APNs 推送,则还需要在 Preprocessor Macros 下的 Debug 中输入 DEBUG,如下图:   - DEBUG 宏定义的目的是为了区分推送环境是 release 还是 debug,环境不对会导致推送失败。 
- 设置 Documentation Comments 为 NO - 点击 ‘Build Settings’,找到 Documentation Comments 并设置为 NO。 
- 设置后台运行模式 - 进入工程的 Target -> Signing & Capabilities -> Background Modes,勾选如下两项内容: - Audio, AirPlay, and Picture in Picture 
- Voice over IP 
 
