# chat-ios **Repository Path**: code0307/chat-ios ## Basic Information - **Project Name**: chat-ios - **Description**: 环信ios demo - **Primary Language**: Objective-C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-22 - **Last Updated**: 2023-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EaseIM -------- ## 简介 环信IM产品展示了怎么使用环信SDK创建一个完整的类微信的聊天APP。展示的功能包括:注册新用户,用户登录,添加好友,单聊,群聊,发送文字,表情,语音,图片,iCloud文件,地理位置等消息,以及实时音视频通话等。 其中音视频通话使用声网SDK实现。 ## 环信IM APP运行 ### 集成之前 - 集成环信IM的APP应该有独立的AppKey,APP用户数据才可以实时统计,并可进行后续的数据加工和分析。 这里是环信Console登录/注册引导地址: > 环信Console引导地址:[环信文档](http://docs-im.easemob.com/im/quickstart/guide/experience#注册并创建应用) - 登录到环信Console,即可创建自己的IM应用。 - 如需使用音视频功能,还需注册声网应用,拥有自己的声网appId。 声网应用注册引导地址: [声网控制台](https://console.agora.io) ### APP运行 1.安装cocoapods ``` sudo gem install cocoapods ``` 2.安装成功后, 运行Podfile ``` cd ./EaseIM pod install ``` 3.点击.xcworkspace运行即可 ## 目录介绍 - class : EaseIMHelper [监听事件回调并且控制页面跳转] - Helper [自定义库:消息提醒,本地设置项,UI弹窗等] - Account [账户验证:登录、注册、服务配置] - Home [登录后主页] - Communicate [实时音视频] - Chat [聊天基础组件(单聊/群聊/聊天室)] - Chatroom [聊天室服务] - Contact [好友列表] - Conversation [会话列表] - Group [群组服务] - Settings [设置] ## 添加SDK及基础服务头文件 - 环信IM使用配置 PCH 文件的方式引用sdk以及基础服务头文件,不需要在每个文件中添加头文件。 - 如果只需要使用环信IM项目的部分组件,建议创建一个 PCH 文件,引入sdk头文件,并在Build Settings 中设置 Prefix Header 为该 PCH 文件 ## 集成功能模块条件 在成功登录到环信服务器的前提下: 集成联系人模块,群聊模块,聊天室模块时若需要使用聊天功能则必须导入 Chat 模块,创建聊天控制器,即可跳转会话聊天(联系人-单聊 / 群组列表-群聊 / 聊天室列表-聊天室)页面。 ## 集成聊天模块: - EaseIM Chat模块集成了EaseIMKit UI库的Chat模块,创建EaseIMKit Chat模块实例,并嵌入EaseIM Chat模块中,详见 EaseIMKit 集成使用指南:[EaseIMKit使用指南](http://docs-im.easemob.com/im/ios/other/easeimkit) ``` //创建EaseIM Chat模块实例 - (instancetype)initWithConversationId:(NSString *)conversationId conversationType:(EMConversationType)conType; ``` ## 集成音视频模块 - 音视频模块使用EaseCallKit UI库实现,详见 [EaseCallKit使用指南](http://docs-im.easemob.com/im/ios/other/easecallkit) # 集成其他模块 - 以下介绍的模块需要初始化全局监听单例类:EaseIMHelper,监听事件回调并且控制页面跳转 ## 会话列表模块: - 向工程导入 Conversation 模块,其中包括 会话列表 和 系统通知(加好友/加群 通知),使用示例: ``` EMConversationsViewController *conversationController = [[EMConversationsViewController alloc] init]; ``` * 可通过导航跳转 ## 好友列表模块: - 向工程导入 Contact 模块,其中包括 好友列表 和 添加/删除好友,使用示例: ``` EMContactsViewController *contactsController = [[EMContactsViewController alloc] init]; ``` * 可通过导航跳转 ## 群聊模块: - 向工程导入 Group 模块,其中包括 加入的群聊列表,群组详情信息,创建群组等,使用示例: ``` EMGroupsViewController *controller = [[EMGroupsViewController alloc] init]; ``` * 可通过导航跳转 ## 聊天室模块: - 向工程导入 Chatroom 模块,其中包括 聊天室列表,聊天室详情信息等,使用示例: ``` EMChatroomsViewController *controller = [[EMChatroomsViewController alloc] init]; ``` * 可通过导航跳转 > 环信sdk集成文档:[环信文档](http://docs-im.easemob.com/im/ios/sdk/prepare) > 环信sdk API文档:[环信文档](http://sdkdocs.easemob.com/apidoc/ios/chat3.0/annotated.html)