Swift - 如何从 WidgetCenter 获取 WidgetLocation

Swift - How to get WidgetLocation from WidgetCenter

提问人:Robert Dresler 提问时间:9/14/2023 更新时间:9/14/2023 访问量:131

问:

我知道我可以使用getCurrentConfigurations(_:)WidgetCenter获取WidgetInfo。但是,如何从该信息访问新的 WidgetLocation

我在文档中找不到任何内容。如果有领域,也应该有,对吧?widgetFamilylocation

Swift 小部件套件 iOS17

评论


答:

1赞 lorem ipsum 9/14/2023 #1

截至目前,Apple 还没有告诉我们小部件的位置,目前您可以使用此类型来“不喜欢”位置

https://developer.apple.com/documentation/swiftui/widgetconfiguration/disfavoredlocations%28_:for:%29?changes=latest_major&language=objc

因此,从理论上讲,如果您不希望某个特定的“小”小部件出现在“锁定屏幕”中,您将不喜欢它。

 lockScreenOnlyConfig
.disfavoredLocations([.lockScreen], for: [.systemSmall])

评论

0赞 Robert Dresler 9/15/2023
嗨,我知道我可以不喜欢某些地方。我的问题不是关于显示小部件,而是关于获取添加的小部件的信息。
0赞 Robert Dresler 9/15/2023
所以你建议创建两种不同的小部件类型,并根据类型区分位置?像widgetA_homeScreen,widgetA_standBy?
0赞 lorem ipsum 9/15/2023
@RobertDresler 是的,基本上不是对位置做出反应,而是积极主动并限制可以显示小部件的位置。
0赞 Robert Dresler 9/15/2023
实际上,我不想对小部件本身做任何事情。我只需要通过 WidgetCenter 获取有关配置及其在主应用程序中的位置的信息,因为我需要处理添加待机位置小部件的事实。
0赞 lorem ipsum 9/15/2023
@RobertDresler现在不可能被动地进行。您可以提交功能请求,并查看 Apple 是否会在未来的更新中添加此功能。同样,您可以通过分离配置来主动。