导入说明

1、环境要求

集成容联云SDK系统支持情况:

  • 最低支持到iOS8.0系统。

2、iOS集成指南

2.1 导入sdk

2.1.1 导入IM sdk

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

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

                

                

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

                

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

                

                

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

                

                                 

2.1.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左右。

                                 

2.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代码编写,所以需要应用设置混编设置:

                

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

                

                

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

                                

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

                                

如图:

                

                

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

                    

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

                    

如图:

                

                                                                 

2.3、适配iOS 10注意事项

                                

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

                                

                                  

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

                                

                                                                                                                            

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

                                

                                                                                  

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

                                                             

                                                          

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

                                                                  

3、请求回调和通知回调

                

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

                

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

                

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