iOS应用仅在

时间:2016-06-04 14:09:54

标签: ios iphone swift uiviewcontroller deep-linking

我使用以下功能深层链接:

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool{
    if(url.host == "dl"){
        window?.rootViewController?.performSegueWithIdentifier("DeepLinkSegue", sender: nil)
        print("DL-VC opened!")
    }

    return true
}

在Safari浏览器中输入myapp:// dl时,应该打开带有segue标识符“DeepLinkSegue”的ViewController。这很好,ViewController打开。

但是在启动应用程序后只有一次。当您转到另一个VC并再次尝试使用“myapp:// dl”打开特定VC时,只需打开应用程序,而不是特定的VC。您必须重新启动应用程序,否则它将无法工作,只打开应用程序而不是特定的VC。

我首先认为该功能可能只被调用一次。但不是这样,因为打印(" DL-VC打开了!")总是打印出来。控制台上没有错误,只是:DL-VC已打开!

以下是重现问题的项目:http://www.filedropper.com/deeplinktest

以下问题已经解决了!

此外,安装后,首次启动时打开深层链接时应用程序崩溃。控制台显示了这个:

2016-06-04 15:41:39.437 MyApp[3009:1380697] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<MyApp.Introduction: 0x15f5c4d70>) has no segue with identifier 'PushSegue''
*** First throw call stack:
(0x18353edb0 0x182ba3f80 0x188a15ca8 0x100012a38 0x1000123b8 0x18894da80 0x18894d4f0 0x188955f48 0x18895c684 0x18895ba80 0x18894570c 0x188945394 0x184edf7ac 0x184edf618 0x184edf9c8 0x1834f509c 0x1834f4b30 0x1834f2830 0x18341cc50 0x184d04088 0x188706088 0x100012670 0x182fba8b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 

有人知道我做错了吗?

此致 大卫。

0 个答案:

没有答案