调用 SiriKit API 创建自动化快捷方式

Call the SiriKit API to create Automation Shortcuts

我正在使用 react-native-siri-shortcut 并成功创建了一个“快捷方式”,但是,它似乎只是一个将用户带回我的应用程序的快捷方式。

我已经开始使用 Swift 5 和 XCode 13.2,很高兴也能收到使用这些语言的答案。

我想做的是允许他们在应用程序中创建自动化快捷方式,无论是“每天下午 5 点打开此应用程序”还是类似的内容。

是否可以调用 API 来创建快捷方式自动化?有没有另一种不使用 react-native-siri-shortcut 的方法?

非常感谢任何帮助,谢谢!

Siri 快捷方式 api 提供给开发者,以便他们可以向系统提供他们应用程序的主要功能(siri,快捷方式)。

如果你想创建一个自动化应用程序,我有一些其他的自动化不同任务的建议:

需要权限的自动化任务:

这些任务 iOS 不会委派给您的应用程序,例如按计划打开应用程序。 解决此问题的一种方法是使用您的应用程序 deep link 或其他提供深度 link 的应用程序并使用该 link 设置本地通知或推送通知。当您单击通知时,如果 link 是您的,您的应用程序将打开,如果不是您的应用程序,您就完成了,如果您调用深度 link,其他应用程序将打开。这种方法的问题是回调,并在工作完成时收到通知,您必须启动下一个任务。

这些是一些 ios 系统 URL 方案,它们也可用于其他应用程序。他们通常会在他们的网站上提及这些计划。

https://github.com/phynet/iOS-URL-Schemes

基于位置的自动化服务:

您可以使用地理围栏功能并将其与推送通知或本地通知混合使用,并在您的用户位于他标记的位置时继续您应用中的其余任务。看看

https://www.raywenderlich.com/17649843-geofencing-with-core-location-getting-started

时基自动化服务:

time-based 自动化可以通过后台任务实现,如果您可以提供 server-side 它们也可以通过推送通知实现。

复杂的多步自动化服务:

为此,您可以使用一些可用的 open-source 自动化并在您的应用程序中实施它们的 API,例如 n8n

https://n8n.io

并在工作流程的每个步骤上通知您的应用程序,以便作为自动化的主界面,它可以显示当前步骤。

这些只是基于可能的解决方法的一些建议。

正在与 apples Shortcut 应用交互:

  • 使用深层链接允许用户打开快捷方式应用、打开单个快捷方式或运行特定快捷方式。

  • 为您的应用程序提供一个快捷方式,然后可以在 ShortCut 应用程序中使用该快捷方式,例如:MyApp - 向我显示来自“所选博客”的最新消息


使用快捷方式自动化时值得一提的事情:

  • 自动化需要特殊权限 运行 无需用户交互

  • 如果设备被锁定

    ,许多自动化将不会运行

在应用程序自动化中 (IOS):
您可以使用 Background TasksBGTaskSchedulerUserNotifications (APNS) 等在您的应用中实现自动化。


在应用程序自动化 (MacOS) 中:

在 macOS 上,您可以使用 crontab 轻松实现自动化 - 当用户登录时 - 或者 launchctl 如果您想要更灵活(注意守护进程需要 root 权限!)


Notice: Any kind of automation can cause security issues if it can run without user interactions, especially if it has root privileges.


链接根据这个 topic/answer: