按自定义url方案转换iOS应用程序花费的时间太长

按自定义url方案转换iOS应用程序花费的时间太长,ios,iphone,swift,Ios,Iphone,Swift,我正在像这样测试应用程序间的通信。 附录A-(1)->附录B-(2)->附录A 转换(1)需要10秒以上。(2) 速度很快。应用程序B几乎是空的应用程序,处理来自应用程序A的URL,并添加用于还原回应用程序A的openURL。奇怪的是,从主屏幕启动应用程序B并没有任何问题。它发射大约1秒。只有通过URL方案启动时才会发生这种情况 我尝试了GCD的异步调用,但没有帮助。我认为启动应用程序B而不是应用程序A有问题。因为最耗时的一点是在显示飞溅图像的状态下。这几乎需要10秒钟 我正在测试Xcode 8

我正在像这样测试应用程序间的通信。 附录A-(1)->附录B-(2)->附录A

转换(1)需要10秒以上。(2) 速度很快。应用程序B几乎是空的应用程序,处理来自应用程序A的URL,并添加用于还原回应用程序A的openURL。奇怪的是,从主屏幕启动应用程序B并没有任何问题。它发射大约1秒。只有通过URL方案启动时才会发生这种情况

我尝试了GCD的异步调用,但没有帮助。我认为启动应用程序B而不是应用程序A有问题。因为最耗时的一点是在显示飞溅图像的状态下。这几乎需要10秒钟

我正在测试Xcode 8和iOS 10

欢迎任何意见

编辑

应用程序A视图控制器:过渡到应用程序B

func call() {
    let url = URL(string: "AppB://" + "?type=aa&data=" + testData)
    if UIApplication.shared.canOpenURL(url!) {
        UIApplication.shared.openURL(url!)
        print("OK")
    }
    else {
        print("NOK")
    }
}
应用程序B应用程序委派:返回应用程序A

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    let url = URL(string: "AppA://")
    if UIApplication.shared.canOpenURL(url!) {
        UIApplication.shared.openURL(url!)
        print("OK")
    }
    else {
        print("NOK")
    }

    return true;
}

我认为这个问题是关于在AppB中调用openURL的。但我发现它发生在AppB->AppA转换期间。我可以通过AppB中的异步openURL函数调用来解决这个问题


感谢您对pnizzle、Nirmalsinh和Vladislav Kovalyov的评论。

应用程序B通过URL方案启动后做什么?您是否正在使用传递的参数(如果有的话)执行某些操作?我使用了URL模式,不会花费太多时间。共享您的演示代码,这样我们就可以解决您的问题。@pnizzle我通过了测试的参数。AppA://?类型=aa,数据=aaa。AppB接收这两个参数。您在传递什么testData?尝试删除它,然后检查一次。@nirmalshinh即使我删除了所有参数并仅使用“AppB://”也会发生这种情况