环信程序员

5.环信3.3.2(一些常见配置问题)

2018-01-24  本文已影响144人  淡闲星草

注意

本文是在 环信官方demo上直接更改的,并非重新导入环信sdk

错误1

真机定位 错误: 点击 聊天框 获取定位 的时候 崩溃

定位 报错.png
Log:

2017-07-01 15:53:34.406824+0800 ChatDemo-UI3.0[3016:1192215] libMobileGestalt MobileGestaltSupport.m:153: pid 3016 (ChatDemo-UI3.0) does not have sandbox access for frZQaeyWLUvLjeuEK43hmg and IS NOT appropriately entitled

2017-07-01 15:53:34.406913+0800 ChatDemo-UI3.0[3016:1192215] libMobileGestalt MobileGestalt.c:550: no access to InverseDeviceID (see <rdar://problem/11744455>)
Painter Z index: 1023 is too large (max 255)
Painter Z index: 1023 is too large (max 255)
Painter Z index: 1023 is too large (max 255)
Painter Z index: 1023 is too large (max 255)
Painter Z index: 1023 is too large (max 255)
Painter Z index: 1023 is too large (max 255)
Painter Z index: 1023 is too large (max 255)
分析.png

解决方案

1.在环信 的定位界面 EaseLocationViewController.h中添加如下 一个 region 代码
//此处 经纬度(CLLocationCoordinate2D) 最好 写一个 国内 经纬度

CLLocationCoordinate2D startCoord =  CLLocationCoordinate2DMake(35.3,  113.9);
[_mapView setRegion:MKCoordinateRegionMakeWithDistance(startCoord,  200.0,  200.0) animated:YES];
解决方法.png

错误2.

国际化 模拟器 显示 英文 问题,(真机 显示 为 中文),强制 设置成 中文 显示

解决方案

中英文问题.png
将 相应的 2 个 plist 中 的 Localization native development region 属性 改成 zh-Hans
zh-Hans ------------ > ( 简体中文)
en ------------ > ( 英文)

错误3

可以正常编译,但是打包ipa 报错

原因

环信 不支持 bitcode 模式
解决方案
将 有关 bitcode 改成 NO
最好将 project 以及 targets 里面的 全部改成 NO
打包报错问题 Bitcode问题.png

错误 4

与 极光推送 配置 ,极光 推送获取不到 token,无法 推送

原因

环信 与 极光 的部分 冲突,环信 重写了 如下方法
不运行如下方法
极光设置推送 - 无反应问题.png

解决方案

1\. appdelegate.m 中 极光的 配置、 相关导入的 类库、info.plist 的配置 极光设置 不更改,

2.在 AppDelegate+EaseMob.m 中 引入 极光 头 文件 #import "JPUSHService.h"
在如下方法中 注册 deviceToken
注意 有可能 极光 与 环信的 版本 问题,相关的注册 deviceToken 的具体 代码有所 差异,(此处 极光 3.0.5 环信3.3.2)
// 将得到的deviceToken传给SDK

-  (void)application:(UIApplication  *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData  *)deviceToken
{
  dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,  0),  ^{
      [[EMClient sharedClient] bindDeviceToken:deviceToken];
      [JPUSHService registerDeviceToken:deviceToken];
    });
}
环信-推送 配置正确写法.png

错误5

更改 登录 逻辑后 偶尔黑屏、闪屏,甚至 加载 白版 显示不出页面

原因

更改 环信 官方 demo 后, 有可能 重写 多次 window 的初始化方法
偶尔闪屏问题.png

解决方法

如上 红框 方法 办证在 Appdelegate.m中 只 初始化 了 一次

错误6

有关环信 证书 的配置

1.由于 环信 没有 使用 pch 全局的 宏定义,所以要 一处 一处 的改
全局 搜索 apnsCertName
将相应 自己注册的环信 账号 配置 的证书 名 ,更改。

注意 options.apnsCertName = @""; 中使用的 为 测试 证书名字(参考 官方demo )
证书问题1.png 证书问题2.png
证书问题3.png

错误8

环信 key 的更改

环信key 问题.png
#define EaseMobAppKey @"XXXXX#XXXXcollection"
1.将 Appdelegate.m 中的 EaseMobAppKey 替换成 自己的key

错误9

tabbarItem 图标蓝色 问题,与 给定的 原图 红色 不否和 问题

更改-环信demo ,item图片颜色问题 .png
//错误 代码
meVC.tabBarItem =  [[UITabBarItem alloc] initWithTitle:@"我的"
image:[UIImage imageNamed:@"MainVC_me_normal"]
selectedImage:[UIImage imageNamed:@"MainVC_me_selected"]];
//正确代码 -- 添加图片 原型 的 设置
meVC.tabBarItem =  [[UITabBarItem alloc] initWithTitle:@"我的"
image:[[UIImage imageNamed:@"MainVC_me_normal"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
selectedImage:[[UIImage imageNamed:@"MainVC_me_selected"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

错误10

导航栏 颜色 设置

1.在Appdelegate.m 设置如下代码


环信demo-导航栏颜色问题.png
上一篇 下一篇

猜你喜欢

热点阅读