如何创建在应用程序进程中运行的AppIntent
,并在你的小部件Button
中使用它?我创建了一个新文件,将其添加到我的应用程序的目标中,创建了AppIntent struct ,然后向我的小部件添加了一个按钮:Button(intent: TestIntent()) { Text("Test") }
.这会导致编译时错误Cannot find 'TestIntent' in scope
,这是有意义的,因为这段代码不存在于我试图使用它的小部件扩展中.但为窗口小部件增加互动性的documentation个选项如下:
对于小部件,创建一个采用AppIntent协议的新 struct 并将其添加到您的应用程序目标中……在协议所需的Perform()函数中,添加小部件可以使用的操作代码.
和
如果您采用AppIntent协议,则可以将您的自定义应用程序意图添加到您的小部件扩展目标或应用程序目标中.将其添加到应用程序目标更可取,因为您可以重复使用添加到应用程序小部件中的按钮或切换.
和
当有人与你的小部件中的按钮或切换进行交互时,系统会在你的应用程序的进程中运行Perform()函数.