2017-06-19 35 views
1

我有一个文件上传系统工作附上了我的我的网站,在移动Safari浏览器可以完美运行。我可以访问iCloud,Photo Libraray和Camera。上传功能在Safari浏览器而不是在移动wkWebView iOS应用

但是我实现它到wkWebView在我们的移动应用之后,上传系统不再工作。

当我加载wkWebView并点击它带来了的,我想抓住从文件的选项按钮。我选择照片库,它关闭了网页视图,并把我带回到我的第一个viewController。

这里是web视图代码:

//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的问题。

谢谢你们!

+0

也许你基本上是不小心关闭的WebView /控制器的地方?如果你“取消”上传会发生什么,它会恢复正常吗? – Fattie

+0

@Fattie当我点击取消它完全一样的东西......这是非常奇怪的,因为在移动Safari它没有做到这一点......当我取消它,它在那里停留,所以没有任何 –

回答

0

我得到它想通了:

在有我的WebView我加了视图 - 控制:

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

这防止dimissal问题。

+0

这不是真正解决问题。这只是一个创可贴。你应该知道什么是调用ViewController被解雇。如果你在你添加的代码中加入了一个断点,什么是触发解雇? – wottle

相关问题