常见问题
1. hostName不存在,请先初始化KFConfig。
需要调用下面的代码上传hostName和appId。
[KFUserManager initializeWithHostName:kHostName appId:kAppId];
2. 用户唯一标示不能为空
可能是因为没有调用初始化方法,而且初始化方法是异步方法,必须在completion完成后才能调用工单和IM的其他方法。
[[KFUserManager shareUserManager]initializeWithEmail:@"123@qq.com" completion:^(KFUser * _Nullable user, NSError * _Nullable error) {}];
3.按照文档集成KF5SDK后,不能编译运行
检查编译时产生的错误信息如下图,这是因为KF5SDK/UI部分使用的第三方库如果和您的有冲突,删除UI中相应的第三方库即可。
4. 如果工单或IM界面出现弹出键盘时,视图和导航栏都往上移动且工具栏与键盘之间留有空隙
请检查您是否集成了类似IQKeyboardManager的第三方库,如果有,只需要在KFChatViewController和KFTicketViewController中禁止掉IQKeyboardManager即可!
5. 聊天界面的UITableViewCell被导航栏遮挡
KF5SDK没有对UINavigationController做处理,多半是你的代码设置问题,请详细检查下代码中是否有关于UINavigationController处理有冲突之类的。
6. KF5SDK中的UI样式不满足需求怎么办
KF5SDK的UI部分是开源的,如果仅仅是简单的图片更换,可以直接替换KF5SDK.bundle中对应的图片(名称不能更改)即可。所有的UI样式被封装在 KFHelper中,开发者可根据需求直接修改 View的属性或修改KFHelper中的样式。如果是复杂的样式,则可以直接修改UI部分的源码来满足你的要求。
7.我需要的功能在文档中找不到怎么办
KF5SDK分为两个部分,KF5SDKCore.framework和UI两个部分,具体的使用方式可以参考demo,也可以具体看类的.h文件,里面提供详细的注释供参考。
KF5SDKCore.framework中关键类:
KFConfig 为全局初始化方法,用于初始化逸创云客服平台地址和应用的 APPID,需要在使用 SDK 前初始化,建议放在 AppDelegate 里;
KFHttpTool 为核心网络请求,里面涉及用户的管理、文档请求、工单请求;
KFChatManager 为核心 IM 请求,里面涉及到 IM 的所有请求,并封装了数据库方法,开发者可非常方便的集成 IM 功能;
KFMessage 为 IM 消息模型;
KFAgent 为客服模型;
KFLogger 为日志打印类,当有错误信息时,会输入日志。开启方式如下:
#ifdef DEBUG[KFLogger enable:YES];#else[KFLogger enable:NO];#endif
UI部分的关键控制器类:
//文档分区控制器#import "KFCategoryListViewController.h" //文档分类控制器 #import "KFForumListViewController.h" //文档列表控制器 #import "KFPostListViewController.h" //文档内容控制器 #import "KFDocumentViewController.h" //创建工单控制器#import "KFCreateTicketViewController.h" //工单列表控制器 #import "KFTicketListViewController.h" //工单内容控制器 #import "KFTicketViewController.h" // 聊天控制器#import "KFChatViewController.h"