2017-06-19 36 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

相關問題