十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
首先了解下如何创建
Xcode -> File -> New -> Target 找到 Widget Extension
如果你的 Widget 支持用户配置属性,则需要勾选这个(例如天气组件,用户可以选择城市),不支持的话则不用勾选
了解下创建Widget后,系统给我们生成的文件内容
下面这个代码是没有勾选 Include Configuration Intent 的地方
Provider
// Provider,顾名思义为小组件提供信息得一个struct struct Provider: TimelineProvider { public typealias Entry = SimpleEntry // 编辑屏幕时,左上角选择添加小组件时候,第一次展示小组件会走这个方法 public func snapshot(with context: Context, completion: @escaping (SimpleEntry) -> ()) { } // 这个方法内可以进行网络请求,拿到的数据保存在对应的 entry 中,调用 completion 之后会到刷新小组件 public func timeline(with context: Context, completion: @escaping (Timeline) -> ()) { // 例如这是一个网络请求 Network.request { data in let entry = SimpleEntry(date: renderDate, data: data) let timeline = Timeline(entries: [entry], policy: .after(nextRequestDate)) completion(timeline) } } }