差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
im:ios:sdk:prepare [2019/07/12 04:26]
huanxinfudh [iOS SDK 快速集成]
im:ios:sdk:prepare [2019/10/31 09:09] (当前版本)
huanxinfudh [登录环信服务器]
行 1: 行 1:
 ====== iOS SDK 快速集成 ====== ====== iOS SDK 快速集成 ======
 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念,最新版本的SDK 只支持 **iOS9** 及以上 iOS 系统版本。 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念,最新版本的SDK 只支持 **iOS9** 及以上 iOS 系统版本。
 +
  
 **注:**此文档对之前的文档进行了优化,结构更清晰,帮助您更快的集成环信 iOS SDK,且对UI进行了改版优化。如果您已集成环信 iOS SDK ,并习惯于之前文档的结构,希望再次了解其集成方式,可参考之前的[[im:​ios:​sdk:​import|旧文档]]。 **注:**此文档对之前的文档进行了优化,结构更清晰,帮助您更快的集成环信 iOS SDK,且对UI进行了改版优化。如果您已集成环信 iOS SDK ,并习惯于之前文档的结构,希望再次了解其集成方式,可参考之前的[[im:​ios:​sdk:​import|旧文档]]。
 +
 +''​特殊提示:如果使用的是xcode11打包,那么需要先将环信SDK内的模拟器框架去掉,否则会报"​IPA processing failed
 +"​的错误。''​ (如果剔除SDK内的模拟器框架,见iOS SDK 快速集成中的'​集成动态库上传AppStore'​)
 ---- ----
  
行 66: 行 70:
 环信 SDK 支持**pod 方式导入**,**手动导入**两种方式任选其一即可,下面分别介绍两种导入方式。 环信 SDK 支持**pod 方式导入**,**手动导入**两种方式任选其一即可,下面分别介绍两种导入方式。
  
 +''​从3.6.0版本开始,sdk只支持ios9.0及以上版本。''​
 ==== Pod 导入SDK ==== ==== Pod 导入SDK ====
  
行 279: 行 284:
  
 ==== 登录环信服务器 ==== ==== 登录环信服务器 ====
 +建议使用异步登录方法,防止网络不好的情况下,出现卡UI主线程的情况出现。
 <​code>​ <​code>​
 // 传入在应用(appkey)下注册的IM用户user1,密码123,用于登录环信服务器 // 传入在应用(appkey)下注册的IM用户user1,密码123,用于登录环信服务器
-EMError *error = [[EMClient sharedClient] loginWithUsername:​@"​user1"​ password:​@"​123"​]; + 
-if (!error) { +[[EMClient sharedClient] loginWithUsername:​@"​user1"​ password:​@"​123" ​completion:​^(NSString *aUsername, EMError *aError) { 
-    NSLog(@"​登录成功"​);​ +    if (!aError) { 
-}+        NSLog(@"​登录成功"​);​ 
 +    else { 
 +        NSLog(@"​登录失败的原因---%@",​ aError.errorDescription);​ 
 +    } 
 +}];
 </​code>​ </​code>​
  
行 378: 行 387:
 由于 iOS 编译的特殊性,为了方便开发者使用,我们将 ''​i386'',​ ''​x86_64'',​ ''​armv7'',​ ''​arm64''​ 几个平台都合并到了一起,所以使用动态库上传 appstore 时需要将 ''​i386''​ , ''​x86_64''​ 两个平台删除后,才能正常提交审核\\ 由于 iOS 编译的特殊性,为了方便开发者使用,我们将 ''​i386'',​ ''​x86_64'',​ ''​armv7'',​ ''​arm64''​ 几个平台都合并到了一起,所以使用动态库上传 appstore 时需要将 ''​i386''​ , ''​x86_64''​ 两个平台删除后,才能正常提交审核\\
  
-在 SDK 当前路径下执行以下命令删除i386,​ x86_64两个平台\\+首先进入到Launchpad中,找到其他---打开终端,然后cd到SDK的所在目录。简单的方式就是找到项目中的环信SDK,然后终端先输入cd,然后按空格键,将环信SDK拖拽到终端内,会自动生成SDK的路径,然后环信SDK名称.framework删除掉,不要cd到环信SDK,只cd到SDK所在的目录下即可。 
 + 
 +示例:比如环信SDK的路径是:/​Users/​easemob-dn0164/​Desktop/​iOS_IM_SDK_V3.6.0/​HyphenateFullSDK/​Hyphenate.framework 
 +那么只需要cd到/​Users/​easemob-dn0164/​Desktop/​iOS_IM_SDK_V3.6.0/​HyphenateFullSDK/​ 就可以了。 
 + 
 +后续在 SDK 当前路径下执行以下命令删除i386,​ x86_64两个平台\\
 bak 文件是备份目录,上传appstore之后需要替换回 bak 目录下的 SDK\\ bak 文件是备份目录,上传appstore之后需要替换回 bak 目录下的 SDK\\
 实时音视频版本''​Hyphenate.framework''​ 实时音视频版本''​Hyphenate.framework''​
行 399: 行 413:
 mv HyphenateLite HyphenateLite.framework/​ mv HyphenateLite HyphenateLite.framework/​
 </​code>​ </​code>​
- 
 ===== DEMO 体验 ===== ===== DEMO 体验 =====
 [[https://​pan.baidu.com/​s/​1LurYGr81Dt8G_W-UzlNm-w |下载地址]],提取码 **ehil** [[https://​pan.baidu.com/​s/​1LurYGr81Dt8G_W-UzlNm-w |下载地址]],提取码 **ehil**