美文网首页环信程序员
5.环信3.3.2(一些常见配置问题)

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

作者: 淡闲星草 | 来源:发表于2018-01-24 15:52 被阅读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

    相关文章

      网友评论

        本文标题:5.环信3.3.2(一些常见配置问题)

        本文链接:https://www.haomeiwen.com/subject/ocyuaxtx.html