1、iOS集成指南

1.1、导入sdk

(1)导入IM sdk

        如果您仅集成IM功能,只需要:

第一步:先下载IM对应的sdk,解压之后目录如图所示例:

Yuntx_IMLib_V5.x.xr.a库是静态库,Manager文件夹是主调函数声明,Delegate文件夹是回调函数声明。

第二步:然后导入sdk。将解压后的文件夹(Yuntx_IMLib_SDK)拖入您的工程中,并勾选上Destination,如图所示:

第三步:点击finish,完成SDK添加,工程目录如下图所示:

(2)导入全功能 sdk

        如果您要集成全功能,包含IM、实时音视频、会议,则需要:

第一步:先下载全功能对应的sdk,解压之后目录如图所示例:

Yuntx_FullLib_V5.x.xr.a库是静态库,Manager文件夹是主调函数声明,Delegate文件夹是回调函数声明。

第二步:然后导入sdk。将解压后的文件夹(Yuntx_FullLib_SDK)拖入您的工程中,并勾选上Destination,如图所示:

第三步:点击finish,完成SDK添加,工程目录如下图所示:

注意:由于iOS编译的特殊性,静态库中包含i386、x86_64、armv7、arm64平台,导致SDK的静态库(.a文件)会比较大,但您实际集成编译出ipa后,只会增加2MB左右。

1.2、设置工程属性

向Build Phases -> Link Binary With Libraries 中添加系统依赖库,操作步骤如下所示:

按照上图,点击加号后,显示下图:在搜索框中输入需要的依赖库名称,如添加sqlite库,按图步骤,点击Add添加依赖库成功(Xcode7.0以上尾缀是.tbd)

SDK需要添加系统依赖库如下:

 libresolv.9.tbd
 libicucore.dylib
 libsqlite3.dylib
 libz.dylib
 libstdc++6.0.9.dylib
 CoreTelephony.framework
 MediaPlayer.framework
 CFNetwork.framework
 SystemConfiguration.framework
 MobileCoreServices.framework
 AudioToolbox.framework
 CoreGraphics.framework
 AVFoundation.framework
 VideoToolbox.framework

                    

添加完依赖库之后,第一步即完成,可以进行下一步了。

编译设置:

因为SDK采用的是C代码编写,所以需要应用设置混编设置:

1、如图使用系统默认模式编译:

2、在第一次调用的地方,如demo中,更改AppDelegate.m文件的后缀为.mm如果不设置这两项,编译时出现std::错误。

3、IM插件暂不支持bitcode,Xcode7之后创建的工程需要关闭bitcode设置。

如图:

closebitcode.png

4、需要在other link flags 加上-ObjC字段,这样可以保证视频通话可以看到头像。

注:5.1.5及以前版本other link flags需加为-all_load。

如图:

Iso_other_link_flags.png

1.3、适配iOS 10注意事项

1、IOS 10在使用摄像头、麦克风、定位、相册等功能的时候,会检查相应权限。用户需要手动在项目的info.plist文件中添加相应权限,如下图所示:

quanxian.png

如未手动添加权限时,会报如下错误:

error.jpg

2、对于iOS 10而言,需将Capabilities -> Push Notifications 开启,如图所示:

Push.png

开启后会生成如下图所示文件:

file.png

注:如不开启改选项,会出现无法获取deviceToken,老项目或会出现deviceToken无效的情况。

2、请求回调和通知回调

SDK中和服务端的交互采取异步回调方法,有两种异步回调方法,一种是请求回调方法,一种是通知回调方法,详细介绍如下:

(1)请求回调方法:即由用户主动发出一个操作请求,请求的结果在回调中返回。具体说就是在调用sdk的方法时,sdk的方法参数中有回调方法,请求的结果直接在参数的回调方法中处理。例如发送消息的方法,包含获知消息是否发送成功的回调,此方法就是请求回调方法。

(2)通知回调方法:通知回调是指由云通讯服务端主动给客户端发送的信令或业务消息,如接收消息,就是由服务端通知应用来收消息,此方法就是通知回调方法。

文档更新时间:2017年3月30日