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

ios集成环信遇到的相关问题整理_第1张图片
A : 在Build setting -> General这里加上。 还有这里也加上 改不能成optional
ios集成环信遇到的相关问题整理_第2张图片


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


4.在消息提示的小红点问题。在UITabBarController的子类中设置了IChatManagerDelegate,但是setupUnreadMessageCount不回
A : 在AppDelegate中没有写如下代码
[objc]  view plain  copy
 print ?
  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

     或者#import

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

ios集成环信遇到的相关问题整理_第3张图片



6.ios集成环信遇到的相关问题整理_第4张图片

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


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

由于 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/
实时音视频版本版本为例 : 执行完以上命令如图所示
ios集成环信遇到的相关问题整理_第6张图片
运行完毕后得到的Hyphenate.framework就是最后的结果,拖进工程,编译打包上架。
ios集成环信遇到的相关问题整理_第7张图片
注意 : 最后得到的包必须真机编译运行,并且工程要设置编译二进制文件General->Embedded Bunaries.

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


转载自:http://blog.csdn.net/jyt199011302/article/details/68483995

你可能感兴趣的:(聊天开发)