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

时间:2017-08-01 11:21:08

标签: ios

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

1 个答案:

答案 0 :(得分:2)

您可以注册自己的网址方案,以便其他应用可以启动您的应用,是的。这意味着他们需要了解您的方案并相应地实施它。

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

某些其他活动也会启动您的应用,如果需要,通常会在后台启动(请参阅here)。 VoIP应用或位置跟踪应用可以利用这一点。

但一般情况下,您无法通过自动,轻松的方式启动应用,这是iOS上的核心设计原则。

一般情况下:警惕"发起"和"背景"在iOS下意味着。系统试图保持用户始终处于控制中的错觉,并以任何方式管理什么是活动和什么不活动。如果你在后台(即暂停)并希望成为"推出"从那里,静音推送通知可能是你的事情,虽然他们不一定保证立即到达[1]。大多数开发人员在这里不了解的部分是,可以意味着您在技术上真正推出,因为您的应用程序的流程在之前和之后都没有运行。这发生在例如设备重启后:由于iOS试图隐藏用户的任何技术细节,因此它仍然看起来应用程序被暂停(即它在任务管理器中)。它会表现得这样。虽然从技术上讲,这会导致您的应用程序被启动,但从用户的角度来看,更多的是错误的恢复活动。由于他们从未明确终止您的应用,因此只是"那里"。相应地,如果他们 终止您的应用,iOS 赢得在无声推送通知到达时再次启动您的应用(IIRC VoIP应用程序在这里是个例外)或者当发生位置更新。

总结:您无法规避有关启动或终止应用的用户互动。它永远只会自动启动"如果从用户的角度看,那么这种观点通常与应用的实际流程状态无关。使用静音推送通知在后台更新您的应用可能就是您追求的目标。

[1]:VoIP应用程序例外。他们基本上也使用静音推送通知唤醒你的应用程序,但那些具有高优先级。 Apple评论不允许"假冒"但是,VoIP应用程序,如果你不是一个用于通话的应用程序,请不要试图欺骗你。 :)