iOS深层链接仅在启动后运行一次

时间:2016-06-03 16:46:47

标签: ios xcode swift deep-linking

我在AppDelegate.swift中使用此函数来深层链接到特定的ViewController:

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool{
    if(url.host == "myviewcontroller"){
        window?.rootViewController?.performSegueWithIdentifier("DeepLinkToPushMessage", sender: nil)

    }
    return true

这是在我的info.plist中:http://www.bilder-upload.eu/show.php?file=2d634c-1464972321.jpg

深度链接到特定的ViewController的工作方式如下:myapp:// myviewcontroller

但不幸的是它只能运作一次。我必须重新启动我的应用程序以使深度链接再次可用,否则它只会在没有深度链接到ViewController的情况下打开我的应用程序。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我在构建我的解决方案时遇到了同样的问题,我正在构建我的解决方案,在函数底部添加一个 .stoprunning 和一个 .startrunning 以防止它在读取一次二维码后停止和崩溃应用程序.不确定这是否能解决您的问题。

下面是我的代码

extension QRViewController: AVCaptureMetadataOutputObjectsDelegate {
        func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection) {
            // Check if the metadataObjects array is not nil and it contains at least one object
            if metadataObjects.isEmpty {
                qrCodeFrameView?.frame = CGRect.zero
                
                captureSession.stopRunning()
                captureSession.startRunning()
                return