ios - 如何在 iOS9 中从 Safari 打开 URL 方案?

标签 ios xcode url-scheme ios9 xcode7-beta3

我能够通过这种方式从 safari 打开应用程序:

window.location = 'myapp://do/xx';

或打开 Facebook 应用程序:

window.location = 'fb://';

但这在 iOS9 中停止工作了。

如何在 Safari 中使用 URL 方案打开应用程序?

最佳答案

IOS 9 URL Shchemes 更新: iOS 9 引入了 LSApplicationQueriesSchemes 以允许应用程序查询是否安装了其他应用程序。

1- 如果声明了 url scheme 并调用 canOpenURL(scheme)

如果安装的应用程序支持该 URL 方案,则为 YES

如果没有应用支持该 url,则否

syslog 将显示 canOpenURL: failed for URL: "urlScheme://"- error: null

2- 如果未声明 url scheme 并调用 canOpenURL(scheme)

总是返回NO

syslog 将显示 canOpenURL: failed for URL: "urlScheme://"- error: null

在 iOS 9 中,开发者必须添加这些 info.plist LSApplicationQueriesSchemes

<array>
    <string>urlscheme</string>
    <string>urlscheme2</string>
    <string>urlscheme3</string>
    <string>urlscheme4</string>
</array>

最多 50 个可以声明独特的 URL 方案!

关于ios - 如何在 iOS9 中从 Safari 打开 URL 方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31361655/

相关文章:

ios - iPhone iOS 推送通知 apns 生产不发送

ios - 如果我使用来自 xib 的自定义颜色,为什么 iOS 不会覆盖背景颜色?

c++ - XCode 4.6.2 中的 Stanford Engineering Everywhere CS106B C++ 库

ios - 具有多个 iOS 应用包标识符的 URL 类型

ios - 现在UITableViewController门单元TableViewController?

ios - 将虚拟对象置于现实世界对象之后

swift - 无法从 Xcode 8 上传 .ipa, "The info.plist indicates a iOS app, but submitting a pkg or mpkg."

ios - 尝试将多个图像上传到Firebase : 2 Errors in SWIFT 4, FIREBASE 5.0.0

ios - 如何从子应用程序检查并打开设备中已安装的父应用程序?

Qt WebView - 拦截加载 JS/CSS 库以加载本地库