终端不同不能聊天?如何用Stream构建跨iOS和macOS聊天APP
全文共1374字 , 预计学习时长6分钟

文章图片
图源:unsplash
过去 , 台式机与手机的跨平台代码库通常指以可移植格式打包的web应用程序 。 而不久前 , 苹果公司发布了MacCatalyst , 这意味着iOS和macOS应用程序可以共享基本相同的本地代码库 。 现在 , 使用本地代码库即可快速实现这一点 。
从此 , 我们可以在开发上更多的时间和金钱 , 并为用户提供更一致的性能体验 。
从当前的iPad应用来构建一个本地Mac应用是非常容易的 。 通过MacCatalyst , 两个应用程序共享同一项目和源代码 , 因此可以有效转换iPad应用的桌面类特征 , 并为Mac应用增添更多特征 。 然后 , 就可以把新的Mac应用程序交付给1亿多名活跃的Mac用户啦 。
StreamChat’sSwiftSDK(流聊天软件开发工具包)与MacCatalyst完全兼容 , 这意味着为iOS构建的聊天体验可以轻松转移到macOS上 。
UI组件
StreamChatSDK附带有全部UI(用户界面)组件 , 可在几分钟内实现应用程序的构建 。 这些组件可以在iOS和macOS之间无缝转换 , 只需在其行为上做出一些细微改变 , 就能实现每个平台所期待的用户体验 。

文章图片
通过使用UISplitViewController , 可以将频道和聊天屏幕放入同一窗口 , 从而充分利用macOS的大屏幕 。 其用法在stream-chat-swift存储库的应用程序示例中 。
上传附件
从iOS移植到macOS的另一Stream聊天功能是选择并上传附件 。 尽管两个平台的UI差别较大 , 但都可以从图库中上传图片 。

文章图片
在macOS上拍照或者录制视频将呈现与PhotoBooth类似的UI , 可通过文件浏览器访问Mac电脑上的所有文件 , 而不像iOS只能使用iClouddrive 。 这些都是由相同的iOS代码运行获得 , 而macOS负责将这些iOS元素转换为本地的macOS元素 。
快捷菜单
在iOS平台上长按一条信息 , 此时除信息以外的背景会模糊化 , 并显示出具有一组可执行操作的快捷菜单 。 在macOS平台上 , 长按操作转换为控制点击 , 然后显示出具有相同可执行操作的macOS典型样式的快捷菜单 。

文章图片
每个平台的指南不同 , 且一些元素的访问和呈现方式上可能具有较大差异 。 例如 , 可以查看苹果iOS和macOS版本快捷菜单上的人机界面指南页面 。
低级客户端
StreamChatSDK的基础是低级客户端 。 它与StreamChat的API(应用程序接口)通信 , 并提供UI组件需要显示的数据 。 它完全兼容iOS和macOS , 如果需要更多控制 , 可以直接使用它 。
推送通知
macOS的推送通知也可与使用相同配置的iOS无缝连接 。

文章图片

文章图片
Xcode允许iOS和macOS使用相同的bundleID 。 如果应用程序已经支持通知 , 就无需为macOS版本进行额外设置 。 使用StreamChatSDK为推送通知注册设备也一样 。
补充
理论上 , 通过Catalyst , 为iOS编写的任何代码都能以某种方式转换为macOS版本 。 如果发现哪处无法正常工作 , 可以快速编写自定义代码来弥补这个缺陷 。
MacCatalyst与StreamChat框架发展同样迅速 。 其团队正在确保代码保持完全兼容 , 并能在iOS和macOS上构建出色的聊天体验 。
入门指南
要想构建跨平台聊天应用程序 , 最好先阅读StreamChatiOS/Swift教程 。 (https://getstream.io/tutorials/ios-chat/)
在开始使用聊天应用程序 , 且所有代码和其它依赖项都与MacCatalyst兼容后 , 你需要在主要目标的部署信息中选择Mac设备 。

文章图片
有一点需要注意 , 如果要支持文件上传 , 要确保向.entitlements文件中添加一个值为YES的“com.apple.security.files.user-selected.read-only”BOOL条目 , 否则打开文件浏览器时应用将会崩溃 。
这样的兼容性太棒啦!

文章图片
留言点赞关注
我们一起分享AI学习与发展的干货
【终端不同不能聊天?如何用Stream构建跨iOS和macOS聊天APP】如转载 , 请后台留言 , 遵守转载规范
推荐阅读
- 王者荣耀:软辅不想被嫌弃?除了不能3级辅助装以外,还有这四点
- 潜力巨大,人生最不能设限的三大星座,叛逆桀骜,却充满无限可能
- |“走法律途径”不能成为逃避责任的借口
- 钓鱼科学调漂:不同的水域、水深垂钓,调漂方法完全不同
- 量子物理学|量子物理学的重要应用,与普通计算机结构完全不同,还需继续探索
- 用恋人的角色来疼爱他,就越让他们心动得不能自己
- 心理学:知道了和明白了,是不同的心理世界,会引发不一样的结果
- 画家|色粉知己:朦胧的花,静谧的景,不同画家笔下的色粉自然
- 雷区|面试技巧 | 着装这几大“雷区”不能踩
- 车先知|君子和而不同 《斗show场》之奔驰GLB对比宝马X1
