一些科尔多瓦插件在iOS模拟器中是未定义的

Some Cordova plugin are undefined in iOS emulator

本文关键字:模拟器 iOS 未定义 插件      更新时间:2023-09-26

我正在使用许多Cordova插件,它们在Android上运行良好,但在iOS上不起作用。我正在模拟器上使用cordova-ios 3.7.0,cordova CLI 4.1.2,iOS 7.0,7.1,8.0进行构建。我已经尝试了我能找到的所有技巧,例如cordova platform update ios,重新添加平台ios,重新添加插件,在xcode中清理和重建。

我非常确定cordova.jscordova_plugins.js已经包含(从 safari 网页检查器中可以看到,我可以找到window.cordova对象(,我所有的插件都在cordova_plugins.js.知道吗?

[编辑]

一些例子:

(科尔多瓦网络状态插件( undefined is not an object (evaluating 'navigator.connection.type')我可以找到navigator对象,但对象中没有道具connection。也没有Connection obj,但我可以从 safari Web 检查器资源中看到network.jsconnection.js

deviceready事件未触发,并且没有window.device对象。但我也可以在资源中找到device.js

[编辑]

Xcode 构建控制台:

2014-12-18 17:02:38.687 t2[87811:60b] Apache Cordova native platform version 3.7.0 is starting.
2014-12-18 17:02:38.689 t2[87811:60b] Multi-tasking -> Device: YES, App: YES
2014-12-18 17:02:38.906 t2[87811:60b] Unlimited access to network resources
2014-12-18 17:02:39.833 t2[87811:60b] [CDVTimer][keyboard] 0.059009ms
2014-12-18 17:02:40.471 t2[87811:60b] [CDVTimer][socialsharing] 637.811959ms
2014-12-18 17:02:40.579 t2[87811:60b] [CDVTimer][file] 107.617974ms
2014-12-18 17:02:41.567 t2[87811:60b] [CDVTimer][splashscreen] 987.930000ms
2014-12-18 17:02:41.568 t2[87811:60b] [CDVTimer][TotalPluginStartup] 1735.188007ms
2014-12-18 17:02:41.948 t2[87811:60b] Resetting plugins due to page load.
2014-12-18 17:02:43.176 t2[87811:60b] Finished load of: file:///Users/applesw2/Library/Developer/CoreSimulator/Devices/*****/data/Applications/*****/t2.app/www/index.html#/app/file

给未来搜索者的答案。这是因为我的一个插件坏了cordova.js,所以在损坏的插件之后包含的插件不适用于 js。我错过了这个错误,因为 safari 网页检查器没有持久控制台日志,所以我看不到检查器打开之前发生的错误消息。

它未定义,因为函数不存在。确保将文件夹(cordova 插件存储库(中的js文件集成到项目中www