# 一分钟集成 SDK

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

# 前提条件

# 创建 macOS 项目

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

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

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

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

TIP

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

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

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

# 集成 SDK

mac 端使用动态库集成 SDK。

  1. 解压并打开下载的 JC SDK 动态库,在 sdk 文件目录下包含 JCSDKOC.framework、include 和 lib 三个文件夹。

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

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

  4. 继续点击 + 符号,导入如下系统依赖的库。

    - AudioToolbox.framework
    - VideoToolBox.framework
    - AVFoundation.framework
    - CFNetwork.framework
    - CoreMedia.framework
    - CoreVideo.framework
    

    导入完后的效果如下图:

    ../../../../_images/macdyliblist.jpg

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

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

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

  • Library Search Paths:$(PROJECT_DIR)/../sdk/lib/ios

TIP

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

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

  2. 点击 Build Settings,找到 Preprocessor Macros,在右侧输入 ZPLATFORM=ZPLATFORM_OSX。

# 添加项目权限

  1. 若您的项目已启用 App Sandbox 或 Hardened Runtime 设置,则需勾选如下内容,获取相应的设备权限:

    ../../../../_images/sandboxset.jpg ../../../../_images/hardrunset.jpg

    TIP

    根据 Apple 官方要求:

    • 对于在 Mac App Store 发布的软件,需要启用 App Sandbox 设置。详见 Apple 官方声明 (opens new window)

    • 对于不在 Mac App Store 发布的软件,需要启用 Hardened Runtime 设置。详见 Apple 官方声明 (opens new window)

    • Hardened Runtime 设置中的 Library Validation 会阻止 app 加载框架、插件或库,除非框架、插件或库是由 Apple 或是与 app 相同的团队 ID 签名的。当遇到需要取消该安全限制的场景(例如无法枚举到第三方虚拟摄像头)时,请勾选 Hardened Runtime -\Runtime Exceptions -\Disable Library Validation。

  2. 在工程的 info.plist 中添加如下键值:

Key

Type

Value

Privacy - Microphone Usage Description

String

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

Privacy - Camera Usage Description

String

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