运行 来自 Cordova 的 Polymer Dart 使用 pub serve

Run Polymer Dart from Cordova using pub serve

我正尝试通过 pub serve.运行 来自 Cordova 的聚合物飞镖应用程序。

这是我尝试过的:

  1. 使用了 stagehand 生成的聚合物项目,最新的网络风暴 (11.0.3),最新的 dart 开发版本 (1.14.0-dev.5.0)。
  2. 禁用应用程序传输安全(对于 iOS,plist 条目,有一个 cordova plugin for that)。
  3. config.xml:我设置了两个访问源,并允许导航到*
  4. 设置<content src="http://localhost:8080/index.html" />而不是<content src="index.html" />(也尝试用LAN IP代替localhost)。
  5. csp: true$dart2jsweb_components transformers .
  6. 使用 Content-Security-Policy 元标记来允许几乎所有内容。
  7. 运行 pub serve --hostname 0.0.0.0.
  8. cordova run ios -> 然后我得到一个白色的空白应用程序。

您在 pubspec.yaml 中使用的 web_components 是哪个版本?

根据这个 issue and this ,也许您可​​能需要像这样覆盖 web_components 版本:

dependency_overrides: web_components: "^0.12.0+3"

我已经成功地用 Cordova 包装了我的 Polymer.dart 应用程序。

您是否确认您的 App Transport Security 设置正确并且 Allow Arbitrary Loads 为 YES?你说你为此使用了插件,但可能设置不当。

您是否在 Dart 服务器中启用了 CORS,以便您的 Cordova 应用程序可以向它发出请求?

您是否将 pub build 的输出(在 /build 中)放入 Cordova 项目的 platforms/ios//www 文件夹中?

"fix" 是为了使用更高版本的 Cordova。

5.1.1 有这个问题,当我更新到最新版本(撰写本文时为 5.4.1)时,它工作正常,甚至不需要 re-create Cordova 项目文件夹。

我在这 2 个版本之间来回切换以验证这是问题所在。