我在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的情况下打开我的应用程序。
我做错了什么?
答案 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