gpt4 book ai didi

ios - (iOS) 使用 URLSchemes 从同一个应用程序启动应用程序

转载 作者:行者123 更新时间:2023-11-28 21:06:35 25 4
gpt4 key购买 nike

从这里link可以从我们的应用程序发送数据/启动其他应用程序。我只是想知道是否有一种方法可以使用 URLSchemes 在出现通知或其他类型的触发器时启动我们自己的应用程序。

最佳答案

您可以注册自己的 URL 架构,以便其他应用可以启动您的应用,是的。不过,这意味着他们需要了解您的计划并相应地实现它。

您不能使用 URL 方案让通知启动您的应用程序。除了用户点击其图标(或通过任务管理器重新打开它)之外,启动您的应用程序的方式有限。 Notifications通常是一种“触发”您的应用程序启动的方式,但仅在特定条件下(最终取决于您的应用程序定义的功能)。不过,通常这也需要用户交互:iOS 首先在屏幕上显示通知,并且只有在用户点击相应的应用程序时才会启动。

某些其他事件也会启动您的应用程序,如果需要,通常会进入后台(参见 here )。 VoIP 应用程序或位置跟踪应用程序利用了这一点。

不过,一般来说,您不会获得任何自动、简单的方式来启动您的应用程序,这是 iOS 的核心设计原则。


总的来说:注意 iOS 下“启动”和“后台”的含义。该系统试图保持用户始终处于控制之中的错觉,并以任何方式管理什么是事件的和什么是不活动的。如果您不介意处于后台(即暂停)并希望从那里“启动”,静默推送通知可能是您的选择,尽管不一定保证它们会立即到达 [1]。大多数开发人员在这里不理解的部分是,这可以意味着您在技术上真正启动了,因为您的应用程序进程之前没有运行并且已经启动。这发生在例如设备重启后:由于 iOS 试图向用户隐藏任何技术细节,对他们来说,应用程序看起来仍然是暂停的(即它在任务管理器中)。它会这样表现。虽然从技术上讲,这会导致您的应用启动,但从用户的角度来看,它更像是 恢复 事件的错觉。由于他们从未明确终止您的应用程序,因此它只是“在那里”。相应地,如果他们确实终止了您的应用程序,iOS 不会在静默推送通知到达时(IIRC VoIP 应用程序在此异常(exception))或位置时再次启动您的应用程序发生更新。

总而言之:您无法规避有关启动或终止应用的用户交互。只有在从用户的角度有意义的情况下,它才会“自动启动”,并且该角度通常与应用程序的实际进程状态无关。使用静默推送通知在后台更新您的应用程序可能正是您所追求的。

[1]:一个异常(exception)是 VoIP 应用程序。他们基本上也使用静默推送通知来唤醒您的应用程序,但那些具有高优先级。不过,Apple 审查不允许使用“虚假”VoIP 应用程序,所以如果您不是用于通话的应用程序,请不要试图欺骗您。 :)

关于ios - (iOS) 使用 URLSchemes 从同一个应用程序启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45436402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com