ios集成环信遇到的相关问题整理

1. pod引入的Hyphenate里面的.h文件中和手动下载的sdk相比会缺少Hyphenate.h 。
A :   主要是pod 问题 本地仓库太旧了, 终端行pod repo update, 之后在pod search 'Hyphenate' 如果可以找到3.3.0版本, 就可以下载了 podfile 里面 platform 要指定8.0

2. iOS SDK 从低版本 升到3.3.0 后运行报错
dyld: Library not loaded: @rpath/Hyphenate.framework/Hyphenate
  Referenced from: /Users/white/Library/Developer/CoreSimulator/Devices/BE0DDC26-96AE-4396-A6C5-48DC6938042B/data/Containers/Bundle/Application/4F9F570A-44B5-4F81-AD19-F7AA38D26E40/SYSchoolProject.app/SYSchoolProject
  Reason: image not found


A : 在Build setting -> General这里加上。 还有这里也加上 改不能成optional



3.在AppDelegate中执行[EaseMob sharedInstance]崩溃
A : other link flags添加“-ObjC”选项(注意:O和C大写)


4.在消息提示的小红点问题。在UITabBarController的子类中设置了IChatManagerDelegate,但是setupUnreadMessageCount不回
A : 在AppDelegate中没有写如下代码
[objc]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. - (void)applicationWillResignActive:(UIApplication *)application {  
  2.     [[EaseMob sharedInstance] applicationWillResignActive:application];  
  3.  }  
  4.   
  5. - (void)applicationDidEnterBackground:(UIApplication *)application {  
  6.     [[EaseMob sharedInstance] applicationDidEnterBackground:application];  
  7. }  
  8.   
  9.  - (void)applicationWillEnterForeground:(UIApplication *)application {  
  10.     [[EaseMob sharedInstance] applicationWillEnterForeground:application];  
  11. }  
  12.   
  13.  - (void)applicationDidBecomeActive:(UIApplication *)application {  
  14.     [[EaseMob sharedInstance] applicationDidBecomeActive:application];  
  15. }  
  16.   
  17.  - (void)applicationWillTerminate:(UIApplication *)application {  
  18.     [[EaseMob sharedInstance] applicationWillTerminate:application];  
  19. }  

5.‘Hyphenate/EMSDK.h’ file no found

A : 换下引用#import <HyphenateLite/HyphenateLite.h>

     或者#import <Hyphenate/Hyphenate.h>

     如果此方法不行, 可以试试选中你的项目中的Pods -> EaseUI->Build Phases->Link Binary With Libraries ,点➕->Add Other ,找到工程里面,Pods里面的Hyphenate文件夹下面的Hyphenate.framework 点击open,重新编译就好了




6.

A :  可以参考问题2的基础上 再看下相对路径那里


7.集成动态库上传AppStore出现问题, 打包上线时报错
A :  遇到这个问题的小伙伴一定是没有认真看咱们环信的官方文档,

由于 iOS 编译的特殊性,为了方便开发者使用,我们将 i386 x86_64 armv7 arm64 几个平台都合并到了一起,所以使用动态库上传appstore时需要将i386 x86_64两个平台删除后,才能正常提交审核

在SDK当前路径下执行以下命令删除i386 x86_64两个平台
实时音视频版本Hyphenate.framework

lipo Hyphenate.framework/Hyphenate -thin armv7 -output Hyphenate_armv7
lipo Hyphenate.framework/Hyphenate -thin arm64 -output Hyphenate_arm64
lipo -create Hyphenate_armv7 Hyphenate_arm64 -output Hyphenate
mv Hyphenate Hyphenate.framework/

不包含实时音视频版本HyphenateLite.framework

lipo HyphenateLite.framework/HyphenateLite -thin armv7 -output HyphenateLite_armv7
lipo HyphenateLite.framework/HyphenateLite -thin arm64 -output HyphenateLite_arm64
lipo -create HyphenateLite_armv7 HyphenateLite_arm64 -output HyphenateLite
mv HyphenateLite HyphenateLite.framework/
实时音视频版本版本为例 : 执行完以上命令如图所示

运行完毕后得到的Hyphenate.framework就是最后的结果,拖进工程,编译打包上架。

注意 : 最后得到的包必须真机编译运行,并且工程要设置编译二进制文件General->Embedded Bunaries.

8.ios apns推送是什么原因导致这个错误
注册deviceToken失败:application:didFailToRegisterForRemoteNotificationsWithError: Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的授权字符串" UserInfo={NSLocalizedDescription=未找到应用程序的“aps-environment”的授权字符串}
A: 工程配置没有打开推送功能。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值