ios - 链接无法从 iOS 9.0 中的 safari 应用程序打开,但在 iOS 9.3 中有效

标签 ios objective-c swift ios9 ios9.3

我知道这个问题有很多相同时间的标题或不同标题的答案。我正在尝试下面的代码。

UIApplication.sharedApplication().openURL(videoURL) 

这行代码在 iOS 模拟器 8.xx/9.xx 中运行良好,并返回 true。但是当我试图在 iPhone 9.Xx 中运行我的代码时(不幸的是没有 iOS 8.xx 设备)然后这一行

UIApplication.sharedApplication().openURL(videoURL) 

给出的是假的。

我想,因为我的 url 包含 https://所以我尝试将它更改为 http://但仍然没有运气。是否有任何类型的条目需要在某处的 .plist 文件中。我假设但不知道是否这就是应该如何完成的。你们能帮我解决这个问题吗?

问候

最佳答案

我在实际设备 iPhone iOS 9.3.3 上使用了这段代码

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

它只是用 youtube 视频打开了 safari

对于 http 我们现在需要在 Info.plist 中添加一个 key ,因为 iOS 9

就在你的最后一个dict 之前,将这些行写在 Info.plist 中,作为源代码查看。

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

enter image description here

或者,您可以添加一个新键并将其作为字典并添加一个 bool 字段,如图所示

关于ios - 链接无法从 iOS 9.0 中的 safari 应用程序打开,但在 iOS 9.3 中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38628792/

相关文章:

iphone - 我会丢失带有新证书的钥匙串(keychain)吗?

ios - 如何在 objective-c 模型类中存储处理程序?

ios - 从Xcode和设备重启应用程序有什么区别

ios - 语句 "public typealias AnyObject"如何使 AnyObject 成为协议(protocol)?

iphone - 如何启动/打开苹果支付或钱包应用程序

ios - Paytm sdk ios 集成在 swift 中

iphone - 单元格中未显示 UITableViewCellAccessoryDe​​tailDisclosureButton

iphone - 停止其他类(class)的声音

iOS Corebluetooth 广告和扫描,同时应用程序在后台

ios - ReactiveCocoa 中的 Map 或 flattenMap