为什么互联网在较新的Phonegap版本中失败?

时间:2015-09-28 20:26:01

标签: cordova phonegap-build

我的Phonegap Build应用程序最近破坏了对cli-5.2.0版本的更新 - 它丢失了所有的互联网连接。我通过恢复到旧版本(3.6.3)来修复它,但当然这不是理想的。为什么这会破裂?

我已经Google搜索过广泛并查看了Phonegap文档,但尚未找到解决方案。

这是一个有效的测试配置:

<?xml version="1.0" encoding="UTF-8" ?>
<widget xmlns   = "http://www.w3.org/ns/widgets"
        xmlns:gap   = "http://phonegap.com/ns/1.0"
        id          = "com.phonegap.snaz"
        versionCode = "1"
        version     = "0.0.1" >

    <!-- versionCode is optional and Android only -->

    <name>aaSnaz Example</name>

    <description>
        A test of notification.
    </description>

    <author href="https://build.phonegap.com" email="support@phonegap.com">
        Snaz the Snazer
    </author>

    <preference name="phonegap-version" value="3.6.3" />

    <gap:platform name="android" />
    <access origin="*" />

</widget>

通过简单地进行此更改就可以解决问题:

<preference name="phonegap-version" value="cli-5.2.0" />

1 个答案:

答案 0 :(得分:1)

@Peter
Phonegap Build 在周末进行了一次未经宣布的升级,许多人都受到了这种打击。这是你需要知道的。

来自 Phonegap Build 论坛,Petra Adds

  

我想补充一点:没有公告,PGB将默认PGB版本从3.7.0更改为cli-5.2.0。这会导致所有未设置“手机版”版本的人在config.xml中遇到突然需要启动画面和白名单插件以及config和html中的额外白名单规范。

     

此外,几个插件似乎无法使用cli-5.2.0正确构建,导致日志文件错误消息关于&#34; Class ***。java&#34;。

来自Top Mistakes by Developers new to Cordova/Phonegap你已经点击了:

  • #6 未设置&#34; phonegap版本&#34;为您的编译器
  • #7 未设置&#34;版本&#34;为你插件
  • #10 不添加新的&#34;白名单&#34;和&#34;白名单插件&#34; config.xml中的参数。

对于#6&amp; #7

  

使用CLI版本,如果您没有为您的平台分配版本,或者在&#39;&#39; Phonegap Build&#39;&#39;如果你没有在config.xml中设置phonegap-version,你将获得最新版本。如果运气好,您的程序就会按预期运行。如果你不幸运,你会得到一组级联错误。

     

幸运的是,对于我们所有人来说,Holly Schinsky写了一篇很好的博文来解释这一切:

     

Cordova / PhoneGap版本混淆
  http://devgirl.org/2014/11/07/cordovaphonegap-version-confusion/

#10

  

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

要明确,&#34;白名单&#34;已经存在了一段时间,但插件和要求是非常新的。正如您所期望的那样,&#34;白名单&#34;添加了,defacto开放访问功能已被弃用。或者说另一种方式,事实上开放访问功能已被计划并计划被淘汰。此更改标志着删除开放访问功能的一个步骤。

     

此外,内容安全策略(CSP)已经吸引了众多开发人员 - 因为它的公开性很差。此CSP需要包含您使用的每个HTML页面,就像您必须等待“设备准备”一样。该文档隐藏在许多最新文档页面的底部。

相关链接

  

Phonegap Build Forum:Notes for upgrading to cli-5.1.1 on PGB,现在需要白名单