【问题标题】:Open app in iTunes using Cordova使用 Cordova 在 iTunes 中打开应用程序
【发布时间】:2015-10-15 19:27:33
【问题描述】:

我使用的是 Cordova 5.1.1,我需要从我的应用程序中打开 iTunes 上的应用程序站点。

如果我这样做

window.open('https://itunes.apple.com/us/app/angry-birds/id343200656?mt=8&uo=4', "_system","location=no");

我进入 Safari “Safari 无法打开页面,因为地址无效”。我的地址有效。

如果我尝试

window.open('itms-apps://itunes.apple.com/us/app/angry-birds/id343200656?mt=8&uo=4', "_system","location=no");

我收到“此应用不允许查询方案 itms-apps”

我试过使用 encodeurl 函数,还是一样。

有什么想法吗?

【问题讨论】:

标签: ios iphone cordova app-store


【解决方案1】:

我发现了问题所在。进一步使用正确的访问控制标签配置白名单插件,主要问题是我试图在 iOS 模拟器上测试应用程序。 在 iOS 模拟器上,App Store 无法作为真实操作系统从浏览器中打开,这主要是因为模拟器中不存在该应用 XD。

在这样的事情上浪费时间真是令人沮丧......

【讨论】:

  • 你是如何配置白名单插件的?我遇到了类似的问题,似乎找不到合适的组合来完成这项工作。
【解决方案2】:

如果您使用第二个选项 (window.open('itms-apps://itunes.apple.com/us/app/angry-birds/id343200656?mt=8&uo=4', "_system","location=no");)

然后你必须在你的 info.plist 文件中添加这个:

<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>itms-apps</string>
    </array>

这在你的 config.xml 中

<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />

【讨论】:

    【解决方案3】:

    你在 iOS 9 上尝试这个吗? requires your app to whitelist 它检查了哪些其他应用程序的隐私更改。 Cordova 似乎通过running a check 实现 window.open 以查看该应用程序 url 是否首先存在。

    【讨论】:

    • 我试过了,还是不行,IOS8.4也是这样
    • 抱歉,没有收到您的回复。我一直忘记告诉别人。 iOS9 是not official support
    【解决方案4】:

    您没有实施完整的白名单,请添加 CSP。 Documentation CSP 位于底部。

    您可以通过阅读 #10 of Top Mistakes by Developers new to Cordova/Phonegap

    我引用

    这个相对 * 新 * 要求意味着——要访问网络上的任何网站或资源,您必须使用白名单和白名单插件。如果您使用的是 cordova-android@4.0.0 或更高版本,此要求将生效;包括 cli-5.1.1 和 cli-5.2.0。但是,如果您的版本是 4.0.0 之前的版本,比如 3.5.0 或 3.7.0,那么您将不必添加白名单要求。 p>

    需要明确的是,“白名单”已经存在了一段时间,但插件和要求是非常新的。如您所料,当添加“白名单”时,事实上的开放访问功能已被弃用。或者换一种说法,事实上的开放访问功能是计划和计划取消的。这一变化标志着在移除开放获取功能方面迈出了一步。

    此外,内容安全政策 (CSP) 吸引了众多开发人员 - 因为它的宣传太差了。 根据您的使用情况和您使用的Phonegap 版本,CSP 需要进入您使用的每一个HTML 页面,就像您必须等待'deviceready' 一样。但是,在某些情况下根本不需要它。文档让一些人感到困惑,请仔细阅读。 该文档隐藏在许多最新文档页面的底部。

    相关链接

    Phonegap 构建论坛:Notes for upgrading to cli-5.1.1 on PGB,现在需要白名单

    【讨论】:

      猜你喜欢
      • 2011-12-31
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多