有奖捉虫:行业应用 & 管理与支持文档专题 HOT

集成云联络中心 iOS Agent SDK

本文主要介绍如何快速地将腾讯云联络中心 iOS Agent SDK 集成到您的项目中,只要按照如下步骤进行配置,就可以完成 SDK 的集成工作。

开发环境要求

Xcode 9.0+。
iOS 9.0 以上的 iPhone 或者 iPad 真机。
项目已配置有效的开发者签名。

集成 SDK

方案1:使用 CocoaPods

1. 安装 CocoaPods 在终端窗口中输入如下命令(需要提前在 Mac 中安装 Ruby 环境):
sudo gem install cocoapods
2. 创建 Podfile 文件 进入项目所在路径,输入以下命令行之后项目路径下会出现一个 Podfile 文件。
pod init
3. 编辑 Podfile 文件 根据您的项目需要编辑 Podfile 文件:
platform :ios, '11.0'
?
target 'App' do
pod 'TCCCSDK_Ios', :podspec => 'https://tccc.qcloud.com/assets/doc/Agent/CppSDKRelease/TCCCSDK_Ios.podspec'
end
4. 更新并安装 SDK
在终端窗口中输入如下命令以更新本地库文件,并安装 SDK:
pod install
或使用以下命令更新本地库版本:
pod update
pod 命令执行完后,会生成集成了 SDK 的 .xcworkspace 后缀的工程文件,双击打开即可。

方案2:手动下载

1. 下载最新版本 TCCC Agent SDK
2. 打开您的 Xcode 工程项目,选择要运行的 target ,单击 Build Phases 项。
?
3. 单击 Link Binary with Libraries 项展开,单击底下的“+”号图标去添加依赖库。
?
4. 依次添加下载的 TCCCSDK.FrameworkTXFFmpeg.xcframeworkTXSoundTouch.xcframework,及其所需依赖库 GLKit.frameworkAssetsLibrary.frameworkSystemConfiguration.frameworklibsqlite3.0.tbdCoreTelephony.frameworkAVFoundation.frameworkOpenGLES.frameworkAccelerate.frameworkMetalKit.frameworklibresolv.tbdMobileCoreServices.frameworklibc++.tbdCoreMedia.framework
?
5. 单击 General,选择 FrameworksLibrariesand Embedded Content,检查 TCCCSDK.framework 所需要动态库 TXFFmpeg.xcframeworkTXSoundTouch.xcframework 是否已经添加,是否正确选择 Embed & Sign,如果没有单击底下的 “+” 号图标依次添加。
?
6. 在工程 target 中 Build Settings 的 Other Linker Flags 增加 -ObjC 配置。
?

配置 App 权限

1. 如需使用 SDK 提供的音视频功能,需要给 App 授权麦克风的使用权限。在 App 的 Info.plist 中添加对应麦克风在系统弹出授权对话框时的提示信息。
?
2. 如需 App 进入后台仍然运行相关功能,可在 XCode 中选中当前工程项目,并在 Capabilities 下将设置项 Background Modes 设定为 ON,并勾选 Audio,AirPlay and Picture in Picture ,如下图所示:
?

代码实现

目前我们提供了 Swift、OC、C++ 接口供开发者选择使用,可以用下面代码引入头文件:
Swift
Objective-C
C++
import TCCCSDK
// 获取tcccSDK 单例
let tcccSDK: TCCCWorkstation = {
return TCCCWorkstation.sharedInstance()
}()
// 获取SDK版本号
let version = TCCCWorkstation.getSDKVersion()
// 引入 OC 头文件
#import "TCCCSDK/tccc/platform/apple/TCCCWorkstation.h"
// 获取tcccSDK 单例
- (TCCCWorkstation*)tcccSDK {
if (!_tcccSDK) {
_tcccSDK = [TCCCWorkstation sharedInstance];
}
return _tcccSDK;
}
// 获取SDK版本号
NSString* version = [TCCCWorkstation getSDKVersion];
// 引入C++头文件
#include "TCCCSDK/tccc/include/ITCCCWorkstation.h"
// 使用tccc命名空间
using namespace tccc;
// 获取tcccSDK 单例
ITCCCWorkstation* tcccSDK = getTCCCShareInstance();
// 获取SDK版本号
const char * version = tcccSDK->getSDKVersion();
具体编码实现可参见 API 概览以及示例

常见问题

如何查看 TCCC 日志?

TCCC 的日志默认压缩加密,后缀为 .log。
iOS?日志路径:sandbox/Documents/tccc

在 iOS 下回调是否都在主线程

Swift、OC 接口的所有回调均在主线程,开发者无需特别处理。但 c++ 接口下回调都不在主线程,需要业务层面上判断并且把他转为主线线程:
if ([NSThread isMainThread]) {
// 在主线程,直接可以处理
return;
}
dispatch_async(dispatch_get_main_queue(), ^{
// 回调在非主线程。
});
?


http://www.vxiaotou.com