2016-07-28 79 views
0

我知道這個問題的答案是很多同一時間的標題或不同title.I我想下面的代碼。鏈接無法在iOS 9.0的Safari瀏覽器中打開應用程序,但可以在iOS 9.3

UIApplication.sharedApplication().openURL(videoURL) 

這行代碼在iOS模擬器8.xx/9.xx中正常工作,並返回true。但是,當我嘗試運行我在iPhone 9.Xx代碼(可惜沒有的iOS設備8.xx),那麼這行

UIApplication.sharedApplication().openURL(videoURL) 

是給假。

我想,因爲我的網址包含https://所以我試圖改變它爲http://,但仍然沒有幸運。是否有任何種類的條目需要在.plist文件somewhere.I承擔但不知道如果那是它應該做的。你們能幫我解決這個問題嗎?

問候

+0

什麼是你的網址。它的工作正常在我的iPhone 9.3.3 –

+0

我試圖打開https://www.youtube.com/.I不知道如果HTTPS和HTTP會有所作爲。 –

回答

1

我用這個代碼的實際設備iPhone iOS上9.3.3

let videoURL = "https://www.youtube.com/watch?v=sFY-NDAAgFo" 
UIApplication.sharedApplication().openURL(NSURL(string: videoURL)!) 

它只是打開Safari瀏覽器與YouTube視頻

對於HTTP我們需要添加一個鍵Info.plist現在iOS 9以上

就在你最後的字典在Info.plist中將這些行寫成源代碼。

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

enter image description here

另外,您可以添加一個新的密鑰,使之作爲一個字典,並添加一個布爾區顯示圖像

+0

確定現在嘗試 –

+0

info.plist條目已經存在於我的項目中,並且我嘗試讓videoURL =「https://www.youtube.com/watch?v=sFY-NDAAgFo」 UIApplication.sharedApplication()。openURL (NSURL(string:videoURL)!)。仍然沒有運氣UIApplication.sharedApplication()。openURL(NSURL(string:videoURL)!)仍然給false.But在模擬其工作。任何方式感謝您的網址格式爲 –

+0

不好。只需寫'let videoURL = https://www.youtube.com/watch?v = sFY-NDAAgFo' –

0

從iOS版9記住這起您可以使用SFSafariViewController

import SafariServices

private func openMYUrl(url: NSURL) { 
     if #available(iOS 9.0, *) { 
      let svc = SFSafariViewController(URL: url) 
      svc.delegate = self 
      self.presentViewController(svc, animated: true, completion: nil) 
     } 
     else { 
      UIApplication.sharedApplication().openURL(url) 
     } 
    } 

注意:如果您未使用此應用程序將拒絕。在我的情況下它的 發生。

+0

不,它不是那樣的。谷歌登錄等sdks作出拒絕的理由。我剛剛提交了上個月的應用程序,其中包含youtube和許多其他谷歌網站的鏈接。蘋果公司從未拒絕並接受第一次去。取決於你使用的是什麼。通常現在使用SafariController的sdks –

相關問題