iOS Swift 4实时聊天功能。 火力基地

参考来源:https://www.raywenderlich.com/140836/firebase-tutorial-real-time-chat-2

Github项目:https://github.com/vin20777/Firebase-Tutorial-Real-time-Chat

首要作业:1。 请先安装Cocoapods并在目录下pod安装指令2.用Google帐号申请Firebase专案权限3.获取GoogleService-Info.plist并放置于专案中4.换上自己的存储URL

由于教程里的范例有JSQMessage已不再支持,Swift仍未更新至4,因此放上Swift 4消除警告修复版(未来也会变成legacy吧……)。

一般的架构如果要建立聊天室类型的APP,都要有前端与本身的技术支持,但是Firebase强大的整合了常用的功能,在聊天室这个情境中,与普通呼叫API不相同的点在于A君如何知道B君发送了一条消息,并且对话记录的记载,这些都在Firebase的SDK完美的封装提供给您使用了,有兴趣的可以谷歌相关技术。

如果都没碰过Firebase相关的开发者也不用太担心,可以先去看看Raywenderlich.com其他相关的Firebase教程,这个网站真的是佛心来着,大部分基础教程都可以免费阅读且记载详细又好玩喔!

本篇会遵循教学的流程来走,实际的实作或解释还是需配合教程来走喔!

First Step聊天室当然是大家都可以用的啊(至少是下载我的APP嘿!),但是App仍必须识别此用户是谁,因此使用Firebase的匿名登录模式,记录用户的唯一识别码。

TableView分为两个部分,一个能够让你创建聊天室,另一个则是显示当前所有聊天室的列表。

第三步Firebase封装为观察者模式去监听实时频道(频道)是否有增删权,如有异动则调用私人功能seeChannels()或者当房主自己创立一个频道func createChannel(_ sender:AnyObject)与Firebase互动。

第四步JSQMessageViewController是一个聊天室页面的开源框架,很遗憾最近作者在2017年7月16日宣布停止维护,仍然可以使用它但是不会再去修正错误或增加功能,它通过Collection视图去当底然后封装成非常容易使用的类,我认为目前有聊天室功能的iOS应用都是参考或直接使用它再做变化。

第五步利用协议客制化好UI部分后,剩下的就是与第三步类似的文字Firebase同步问题啰,观察数据库的结构是否有异动去更新画面。

Last迄今为止已经是一个有模有样的两人文字聊天室了,可参考我的Github做搜寻,测试的话就使用真机一台和模拟器互相操作吧!如果你想要a。 发现对方是否是输入中b。 传输照片(使用Firebase存储),会发现做法都是类似的步骤:获取Firebase沟通方式->上传更新资料库或下载同步装置端资讯-> UI显示,基本上现在的聊天室都有五花八门的功能,毕竟想赚大钱不是这么容易,你可以去设想更多的功能与之结合,大家伙就4这样啰,快去创立自己的聊天室吧!