SDK导入及Xcode配置
适用范围
1、该文档适用于APP集成小能客服iOS-SDK-3.0版本。
2、该文档提供给与小能合作企业的iOS技术开发人员使用。
3、iOS-SDK-3.0版本支持iOS8.0及以上系统版本。
重要提示
在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念。
1、建议先测试我们Demo,并仔细阅读我们Demo中的集成代码,会对您的对接过程有很大的帮助。
2、集成过程中,遇到任何问题,请随时联系我们。
3、集成SDK后,请将集成后的安装包发给我们测试,双方测试通过后APP方能上线并进入售后流程。若没有提供给我方测试将APP上线,造成后果由集成方承担。
4、若需要小能协助测试,要发一封测试申请邮件并附带测试账号和测试安装包给到小能技术支持人员。
5、如需小能方周末提供对接支持,请至少提前一天提出邮件申请,我们好安排加班人员。
SDK的文件说明
SDK的文件结构说明如图所示:
方法调用前引入的头文件统一为:#import,每个方法调用前不再一一赘述。
1.导入SDK文件
(1) 如果您已经获取集成包,需要将集成包文件复制进APP工程目录下;
(2) 在Xcode中点击菜单栏中"Add files to Your project name…"选择集成包文件夹,;
(3) 在弹出的对话框中勾选Copy items if needed后,点击Add,将文件夹添加到APP工程中。
具体步骤参考下图:
>
注意:
1、不要漏掉.bundle图片资源文件,否则会引起异常的Crash或界面显示空白。
2、不要漏掉语言文件(lanage),否则界面会将所有文本显示成英文关键词
2.修改编译选项
1、关闭Bitcode选项,请到构建设置Target->Build Setting, 搜索bitcode,”Enable Bitcode”将Yes为No 关闭bitCode选项,否则将无法正常编译通过。
2、小能SDK内部使用了ObjectiveC的Category,所以开发者需要在Target->Build Setting->Linking->Other Linker Flags中添加-ObjC选项,以保证这些Category能够正常工作。
3、另外需要添加下编译器配置,在Target->Build Setting->Linking->Other Linker Flags中添加-fprofile-instr-generate选项,保证能编译通过。
注意:
1、如果您没有关闭Bitcode,编译会报错。
2、请注意-ObjC大小写。
3、如果您没有添加-ObjC编译选项,在初始化SDK时会发生crash。
4、如果您没有添加-fprofile-instr-generate编译选项,编译会报错。
3.plist表需要进行权限,开关参数配置
具体key值如下:
NSCameraUsageDescription
NSMicrophoneUsageDescription
NSPhotoLibraryUsageDescription
另外Localization native development region 需要设置为$(DEVELOPMENT_LANGUAGE)
4.添加SDK系统库
添加SDK系统库
小能SDK依赖一些系统库,在开发应用时需要添加这些系统库到工程中。首先点击工程右边的工程名,在工程名右边依次选择:TARGETS -> BuiLd Phases -> Link Binary With Libraries,展开 LinkBinary With Libraries ,点击展开后下面的 + 来添加下面的依赖项:
Contacts.framework;
CoreTelephony.framework
AVFoundation.framework
AddressBook.framework
libsqlite3.0.tbd
libxml2.2.tbd
libstdc++.tbd 【iOS12及以后改为libc++.tbd】
如果您使用的是 Xcode 6.X 版本,则需要将上面的动态库 .tbd 的后缀改为 .dylib。如果您没有使用 IMKit 的所有功能,有些库可能并非必须。
最后检查是否引用了小能SDK静态库文件,一般在导入SDK时候会自动引用:
NTalkerGuestIMKit.framework
NTalkerIMCore.framework
5.多语言实现需要添加文件,如下:
不要漏掉语言文件(lanage),否则界面会将所有文本显示成英文关键词
6.相关图片的bundle文件的添加
bundle文件是图片资源,其中NtalkerGuest.bundle是存放的是基本不可变图片,NtalkerDefault.bundle是默认经典版的主题图片,NtalkerColorful.bundle是炫彩版的主题图片,在切换主题时候会使用对应的
不要漏掉.bundle图片资源文件,否则会引起异常的Crash或界面显示空白。
>
完成以上操作之后,编译一下,如果没有报错,表示添加SDK成功,下一步可以进入调用SDK的API实现功能阶段。