差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 后一修订版 两侧同时换到之后的修订记录 | ||
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** |