# 准备开发环境

本章将介绍如何将 JC SDK 集成到您自己创建的项目中。

# 前提条件

# 创建 iOS 项目

参考以下步骤创建一个 iOS 项目。若已有 iOS 项目,可以直接查看集成 JC SDK。

  • 打开 Xcode 并点击 Create a new Xcode project

  • 选择项目类型为 Single View App,并点击 Next

  • 输入项目信息,如项目名称、开发团队信息、组织名称和语言,并点击 Next

    TIP

    如果您没有添加过开发团队信息,点击 Xcode -> Preferences… -> Accounts,点击左下角加号并按照屏幕提示登入 Apple ID,完成后即可选择您的账户作为开发团队。

  • 选择项目存储路径,并点击 Create

  • 进入 TARGETS -> Project Name -> Signing & Capabilities 菜单,勾选 Automatically manage signing

# 集成 SDK

您可以通过以下两种方式中任意一种集成 JC SDK:

# 方法一:通过 CocoaPods 自动导入动态库

V2.0 及以上的版本支持使用 CocoaPods 导入 SDK。 导入前需要安装 CocoaPods 环境,安装方式参照 CocoaPods 官网 (opens new window)

CocoaPods 环境安装好后,执行以下操作:

  1. 打开 Terminal ,cd 至项目根目录

  2. 执行 pod init ,项目文件夹下会生成一个 Podfile 文本文件

  3. 执行 open -e Podfile

  4. 添加导入配置 pod 'JuphoonCloudSDK_iOS', '-> version' (将version 替换为您需集成的 SDK 版本)

  5. 执行 pod install,成功安装后,Terminal 中会显示 Pod installation complete! ,此时项目文件夹下会生成一个 xcworkspace 文件

  6. 双击打开 xcworkspace 文件

修改后内容如下所示,注意将 Your App 替换为您的 Target 名称,将 version 替换为您需集成的 SDK 版本。

platform :ios, '9.0'
#use_frameworks!
target 'Your App' do
pod 'JuphoonCloudSDK_iOS', '-> version'
end

TIP

如果需要更新本地库版本,请先执行 pod update 命令,再执行 pod install 命令。

# 方法二:手动导入动态库

  1. 下载并解压 JC SDK

  2. sdk 文件夹下 JCSDKOC.frameworkinclude 拷贝到您工程所在的目录下。

  3. 打开 Xcode,进入 TARGETS -> Project Name -> General ,在 Embedded Binaries 一栏,点击 + 符号,然后导入 JCSDK 文件夹下的 JCSDKOC.framework。

  4. 点击 Build Settings,找到 Search Paths,设置 Framework Search Paths:

    • Framework Search Paths:$(PROJECT_DIR)/../sdk

    • Header Search Paths:$(PROJECT_DIR)/../sdk/include

    TIP

    在完成第 1 步导入 JCSDKOC.framework 文件后,Xcode 会自动生成该路径,如果 Xcode 没有自动生成路径,用户要根据 JCSDKOC.framework 文件所在目录,手动设置路径。

  5. 进入工程中的 Target -> Build Settings -> Other Linker Flags,在此项中添加 -ObjC。

  6. 点击 Build Settings,找到 Documentation Comments 并设置为 NO。

  7. 进入工程的 Target -> Signing & Capabilities -> Background Modes,勾选如下两项内容:

    • Audio, AirPlay, and Picture in Picture

    • Voice over IP

# 添加项目权限

音视频通话需要用到摄像头和麦克风权限,请在工程的 info.plist 中添加如下键值:

Key

Type

Value

Privacy - Microphone Usage Description

String

使用麦克风的目的,如语音通话。

Privacy - Camera Usage Description

String

使用摄像头的目的,如视频通话。