终端不同不能聊天?如何用Stream构建跨iOS和macOS聊天APP
全文共1374字 , 预计学习时长6分钟
本文插图
图源:unsplash
过去 , 台式机与手机的跨平台代码库通常指以可移植格式打包的web应用程序 。 而不久前 , 苹果公司发布了Mac Catalyst , 这意味着iOS和macOS应用程序可以共享基本相同的本地代码库 。 现在 , 使用本地代码库即可快速实现这一点 。
从此 , 我们可以在开发上更多的时间和金钱 , 并为用户提供更一致的性能体验 。
从当前的iPad应用来构建一个本地Mac应用是非常容易的 。 通过Mac Catalyst , 两个应用程序共享同一项目和源代码 , 因此可以有效转换iPad应用的桌面类特征 , 并为Mac应用增添更多特征 。 然后 , 就可以把新的Mac应用程序交付给1亿多名活跃的Mac用户啦 。
Stream Chat’s Swift SDK(流聊天软件开发工具包)与Mac Catalyst完全兼容 , 这意味着为iOS构建的聊天体验可以轻松转移到macOS上 。
UI组件
StreamChat SDK附带有全部UI(用户界面)组件 , 可在几分钟内实现应用程序的构建 。 这些组件可以在iOS和macOS之间无缝转换 , 只需在其行为上做出一些细微改变 , 就能实现每个平台所期待的用户体验 。
本文插图
通过使用UISplitViewController , 可以将频道和聊天屏幕放入同一窗口 , 从而充分利用macOS的大屏幕 。 其用法在stream-chat-swift存储库的应用程序示例中 。
上传附件
从iOS移植到macOS的另一Stream聊天功能是选择并上传附件 。 尽管两个平台的UI差别较大 , 但都可以从图库中上传图片 。
本文插图
在macOS上拍照或者录制视频将呈现与Photo Booth类似的UI , 可通过文件浏览器访问Mac电脑上的所有文件 , 而不像iOS只能使用iClouddrive 。 这些都是由相同的iOS代码运行获得 , 而macOS负责将这些iOS元素转换为本地的macOS元素 。
快捷菜单
在iOS平台上长按一条信息 , 此时除信息以外的背景会模糊化 , 并显示出具有一组可执行操作的快捷菜单 。 在macOS平台上 , 长按操作转换为控制点击 , 然后显示出具有相同可执行操作的macOS典型样式的快捷菜单 。
本文插图
每个平台的指南不同 , 且一些元素的访问和呈现方式上可能具有较大差异 。 例如 , 可以查看苹果iOS和macOS版本快捷菜单上的人机界面指南页面 。
低级客户端
StreamChat SDK的基础是低级客户端 。 它与Stream Chat的 API(应用程序接口)通信 , 并提供UI组件需要显示的数据 。 它完全兼容iOS和macOS , 如果需要更多控制 , 可以直接使用它 。
推送通知
macOS的推送通知也可与使用相同配置的iOS无缝连接 。
本文插图
本文插图
Xcode允许iOS和macOS使用相同的bundle ID 。 如果应用程序已经支持通知 , 就无需为macOS版本进行额外设置 。 使用Stream Chat SDK为推送通知注册设备也一样 。
补充
理论上 , 通过Catalyst , 为iOS编写的任何代码都能以某种方式转换为macOS版本 。 如果发现哪处无法正常工作 , 可以快速编写自定义代码来弥补这个缺陷 。
Mac Catalyst与Stream Chat框架发展同样迅速 。 其团队正在确保代码保持完全兼容 , 并能在iOS和macOS上构建出色的聊天体验 。
推荐阅读
- |姐姐说,你头上不能没有这东西
- 刘德华|男神hold不能活长发,只有郭富城才能携带四位天王的长发
- 混用|不同型号的手机充电器可以混用吗?会影响电池吗?
- 极客数码最前线宅家游戏装备不能少,R5 3600+2060s+ XPG入侵者装机体验
- 吃货疯范TB|街边卖咸香松软的肉松小贝,食客问制作方法,老板:这不能告诉你
- 生活中的风尘|历史上的兰陵王与民间流传有何不同?其母何人?引来种种猜测
- |【大家来找茬】第47期答案:5处不同 1楼吧友最快答出
- 舆论|胡锡进再谈苟晶事件:不能为达目的不择手段
- 南岗|“扫个码吧!”不明二维码不能随便扫,它的背后有大“坑”!
- 大话小撸圈|奥德赛金克丝最优解的装备是破甲和无尽?神超:有一件装备不能出
