URL方案打开应用程序的特定部分

时间:2016-10-05 22:32:16

标签: ios url-scheme uiapplicationdelegate

我有一个可以显示用户创建倒计时的应用程序。

我有一个今天的扩展程序小部件,它显示了一些用户的倒计时,当你点击一个时,它会打开应用程序并跳转到视图控制器进行特定的倒计时。

我已经通过URL方案实现了这一点。当我点击小部件中的倒计时时,它使用url方案打开应用程序。在application(_: open: options:)中,应用代理:

  • 从已打开的网址
  • 获取倒计时的UUID
  • 在主视图控制器的倒计时数组中获取具有该ID的倒计时对象的索引(如果找不到具有该ID的倒计时,则返回false)
  • 在主视图控制器上调用dismiss(animated: false)以删除任何呈现的视图控制器
  • 在主视图控制器的导航控制器上调用popToRootViewController(animated: false)
  • 执行显示倒计时的segue

这一切都很棒。当我点击窗口小部件中的倒计时(或者甚至只是在Safari中输入已知UUID的URL)时,应用程序会直接打开到正确的倒计时。

但只有在应用程序已在后台暂停时才有效。如果应用程序尚未打开,它只是正常打开应用程序,我想是因为当应用程序被告知打开URL时,主视图控制器尚未加载。我怎么能绕过这个?我应该采用不同或更好的方式来实现这个目标吗?

0 个答案:

没有答案