【问题标题】:Tone.js doesn't load for Cordova on iOsTone.js 不会在 iO 上为 Cordova 加载
【发布时间】:2020-12-25 00:31:19
【问题描述】:

我正在尝试加载 Tone.js 库以在我的 Cordova 应用程序中使用,并将 iOs 作为目标平台。 当我启动 iPhone 模拟器时,我在控制台中看到了这个错误:

[shim] BKSProcessAssertion "ConnectionTerminationWatchdog" initialized with invalid pid

应用无法加载,我只看到空白屏幕。

我试图从 CDN 加载库,如下所示:

<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/13.4.9/Tone.min.js" ></script>

还有来自本地文件系统:

<script src="js/libs/tone/13.4.9/Tone.min.js"></script>

似乎没有任何区别。当我尝试从 Safari 调试应用程序时,我看到网页甚至没有加载。似乎加载库以某种方式使应用程序永远挂起,直到它崩溃。

我尝试在没有库的情况下加载应用程序,然后尝试使用 javascript 从控制台加载它,如下所示:

$.getScript( "js/libs/tone/13.4.9/Tone.min.js", function( data, textStatus, jqxhr ) {
  console.log( data ); // Data returned
  console.log( textStatus ); // Success
  console.log( jqxhr.status ); // 200
  console.log( "Load was performed." );
});

在我运行这个命令之后,Safari 就像在 Tone.js 或加载器内部有一个无限循环一样死掉了。我正在尝试不同版本的 Tone.js lib - 没有发现任何区别。

这是我使用的环境:

Cordova Packages:
    cli: 10.0.0
        common: 4.0.2
        create: 3.0.0
        lib: 10.0.0
            common: 4.0.2
            fetch: 3.0.0
            serve: 4.0.0

Project Installed Platforms:
    android: 9.0.0
    ios: 6.1.1

Project Installed Plugins:
    cordova-plugin-whitelist: 1.3.4

Environment:
    OS: macOS 11.1 (20C69) (darwin 20.2.0) x64
    Node: v14.5.0
    npm: 6.14.6

ios Environment:
    xcodebuild:
    Xcode 11.7
    Build version 11E801a

【问题讨论】:

    标签: javascript cordova tone.js


    【解决方案1】:

    我检查了 iPhone 模拟器日志。

    事实证明,WKWebView 对象在解析 Tone.js 库时崩溃,因为 iPhone 模拟器上缺少一些与 protobuf 相关的库。

    模拟器与我的 XCode (11.7) 版本捆绑在一起。我将 XCode 升级到 12.3 版本,问题就消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      • 1970-01-01
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多