上传功能在safari中工作,但在移动wkWebView ios应用程序中不工作

上传功能在safari中工作,但在移动wkWebView ios应用程序中不工作,ios,swift,mobile,Ios,Swift,Mobile,我的网站附带了一个文件上传系统,它在移动safari上运行得非常完美。我可以访问iCloud、照片库和照相机 然而,当我在我们的移动应用程序中的wkWebView中实现它之后,上传系统就不再工作了 当我加载wkWebView并单击按钮时,它会显示我要从何处获取文件的选项。我选择照片库,它会关闭webview并将我带回我的第一个viewController 以下是webview代码: //Camera AVCaptureDevice.requestAccess(forMedi

我的网站附带了一个文件上传系统,它在移动safari上运行得非常完美。我可以访问iCloud、照片库和照相机

然而,当我在我们的移动应用程序中的wkWebView中实现它之后,上传系统就不再工作了

当我加载wkWebView并单击按钮时,它会显示我要从何处获取文件的选项。我选择照片库,它会关闭webview并将我带回我的第一个viewController

以下是webview代码:

  //Camera
         AVCaptureDevice.requestAccess(forMediaType: AVMediaTypeVideo) { response in
        if response {

            //access granted
        } else {

        }
    }

    //Photos
    let photos = PHPhotoLibrary.authorizationStatus()
    if photos == .notDetermined {
        PHPhotoLibrary.requestAuthorization({status in
            if status == .authorized{
                //...
            } else {}
        })
    }

    let requestObj = URLRequest(url: URL(string: "https://example.com/chat.php?use=\(userId)")!)
            corepage.load(requestObj);
  }
我还将这些信息添加到info.plist中。但是,这并没有解决我在单击上载文件的任何选项时页面返回主viewController的问题


谢谢大家

我已经弄明白了:

在包含我的webview的viewcontroller中,我添加了:

override func dismiss(animated flag: Bool, completion: (() -> Void)?) {
    if (self.presentedViewController != nil) {
        super.dismiss(animated: flag, completion: completion)
    }
}

这就避免了dimissal问题。

也许您基本上是在某个地方意外关闭了WebView/controller?如果你“取消”上传会发生什么,它会返回吗?@Fattie当我单击“取消”时,它会做完全相同的事情…这非常奇怪,因为在mobile safari上它不会这样做…当我取消它时,它会停留在那里,什么也不做。这并不能真正解决问题。那只是把一个创可贴放在上面。您应该了解是什么导致ViewController被解除。如果在添加的代码中设置断点,那么是什么触发了解雇?