OneWidget 是一款支持在 iOS 14 上自定义小组件显示内容的工具,支持设置的内容有时间、习惯、待办事项、生命倒计时等等。本文除了 OneWidget 的产品介绍外,还包括了我在开发 OneWidget 的过程中对相关 iOS 14 小组件的技术讨论,如有错误欢迎指出。
长按二维码关注少数派(ID:sspaime),在后台回复「小组件工具集」即可获得下载链接。
OneWidget 在内测期间有超过 1 万人参与 TestFlight 测试,由于 Apple 对小组件的引导和教育做得并不明显,导致很多用户并不知道如何添加小组件,更不知道如何配置小组件。所以,本文先对 iOS 14 小组件做一个知识普及。
关联阅读:《这个在 iOS 14 中彻底改版的功能,是一次对 iOS 桌面的大手术》
小组件允许三种尺寸:小、中、大,分别对应 4、8、16 个图标所占据的范围。在 Apple 内置的应用中,我们已经看到这些案例。需要注意的是,支持什么尺寸、提供多少个小组件目前是可以由开发者决定的。
小组件以是否可以配置,分为「静态小组件」和「动态小组件」。区分它们的方法很简单,长按小组件如果出现「编辑小组件」就表明该组件可以配置数据,是「动态小组件」。
动态小组件在配置数据时,无须打开主应用就能完成数据的选择和结果呈现。比如备忘录可以选择显示哪一个备忘文本、股票小组件可以选择哪一个公司等。如果小组件可以根据数据显示不同的样式,那么就能做到数据选择后,改变小组件的样式,OneWidget 就是这样完成了组件样式的改变。
再者,我们可以对同一个小组件添加多次,系统没有对于同一款小组件有添加次数方面的限制。你可以把一个组件添加很多次,而每一次选择不一样的数据。比如,OneWidget 的小尺寸组件,每一次添加可以选择不同的类型展示。有了这些特点,iOS 14 小组件在使用上有很多个性化的方法,OneWidget 的灵感即来源于此。
Apple 对 Widgets 开发的 API 限制非常多,这导致很多用户在原有 Today Widget 可以拥有的体验大量消失。为了避免用户对「开发者」的误解,下面罗列一些供大家参考的信息。
小组件只能通过一个叫做 Timeline 的接口进行刷新,但是它并不能做到完美的以秒刷新,而且对刷新的次数有要求。这就导致开发者只能通过较高的频率和有限的时间范围刷新小组件,时钟类型的小组件很容易遇到延迟和停止的情况。
同样,如果某些数据是基于系统,比如健康、日历,开发者无法在数据被更新后及时同步到小组件,用户在日历里添加了数据,第三方组件是无法立刻刷新获取这些数据的,需要打开该第三方应用进行刷新。OneWidget 的日历、日程和未来的健康数据小组件也是如此,大家在使用时候注意及时打开主应用进行一次刷新。
小组件所呈现的界面,在接口里叫做「Snapshot」,也就是快照截图,所以它无法实现动画效果。有很多用户建议制作翻页时钟,在新的 iOS 14 小组件里是无法实现的。
系统内置的电池、捷径组件,可以做到部分区域半透明模糊效果,这些目前是仅系统应用可以使用的接口。任何第三方应用无法做到,这是 Apple 自留的「私货」。所以,小组件背景没有办法做到透明和模糊效果。
OneWidget 利用应用和组件的配合,希望成为可以高度自定义的组件生产工具。你可以在主应用内选择、编辑、预览,甚至在未来可以直接设计小组件。我希望用户能像在 PS、Sketch 上一样在手机上自由创作小组件。
有了 OneWidget,你可以解决大部分组件的需求。OneWidget 目前支持的工具类型:
趣味类型
未来 OneWidget 还将增加健康类型、通讯录类型的选项。其中对于数据类型的小组件组件,OneWidget 内置了多项常用工具:倒计日、生命倒计时、个人寄语、站立记录、习惯打卡、体重记录、极简记账、待办清单等。趣味类型的数据有「周五日历」,未来将有「节日日历」。
大多数小组件工具并不提供主题设置功能,OneWidget 目前提供了 17 种内置的主题颜色,帮助用户在多种风格下进行选择。应用在默认情况下是随机主题,用户可以进入组件配置状态设置固定的主题。有了主题设置后,OneWidget 能够帮助用户更好地个性化配置桌面。
构成小组件内容的四个要素有:数据、设置、类型、主题。OneWidget 将高频、繁琐的数据管理、设置管理放在了主应用内,把低频、通用的类型选择、主题选择放在了小组件里。数据和设置决定了组件的内容,类型和主题决定了组件的展示样式。OneWidget 以这样的结构和设计,有助于未来进行更多组件的扩展,同时又不影响其它组件和主题。
小组件的中尺寸和大尺寸其实有足够的空间展示更多的内容,OneWidget 的中尺寸可以展示双内容,大尺寸可以展示双内容、三内容、四内容。用户可以在添加组件后,分别选择每个区域显示什么内容。组合方式的穷尽能够带来更多自定义的空间。
可以说,足够的扩展性与组件的灵活性,带来了 OneWidget 的「大有可为」。
作为拥有三年经验的独立开发者,非常感谢少数派 Tron 计划和少数派用户的支持。OneWidget 目前以买断制出售,同时产品还在不断迭代。
关注少数派,在后台回复「小组件工具集」即可获得下载链接。
🐎 送码