ios 上的 Cordova 和 Ionic - 设备插件不起作用

Posted

技术标签:

【中文标题】ios 上的 Cordova 和 Ionic - 设备插件不起作用【英文标题】:Cordova & Ionic on ios - Device plugin not working 【发布时间】:2016-09-27 10:10:22 【问题描述】:

问题是deviceios 模拟器 下从来没有准备好。

Cordova 的 Device 插件正确初始化对象 device,但 device.ready 始终为 false,而且所有字段均为 null。这意味着插件没有被初始化,并且deviceready 事件不会触发,并且使用$ionicPlatform.ready(...) 方法也不起作用(正确导入,使用['ionic'] 依赖项并使用["$ionicPlatform", function($ionicPlatform)] 注入控制器) .

到目前为止,我已经尝试过多次重建,多次添加插件,ionic prepare 等等,但没有任何效果。

XCode 的 输出中,我收到以下错误:

2016-09-27 11:55:15.738 MyApp[74125:12496643] 错误:找不到插件“设备”,或者不是 CDVP 插件。在 config.xml 中检查你的插件映射。

2016-09-27 11:55:15.738 MyApp[74125:12496643] -[CDVCommandQueue executePending] [Line 142] FAILED pluginJSON = ["Device330720986", "Device", "getDeviceInfo", []]

2016-09-27 11:55:15.738 MyApp[74125:12496643] 错误:找不到插件“状态栏”,或者不是 CDVP 插件。在 config.xml 中检查你的插件映射。

2016-09-27 11:55:15.738 MyApp[74125:12496643] -[CDVCommandQueue executePending] [Line 142] FAILED pluginJSON = ["StatusBar330720987", "StatusBar", "_ready", []]

我怀疑最后一个_readydeviceready 没有被触发有关。

android/瑞波

在 Android 下已经过测试并且运行良好。在Ripple下也给出了很好的响应。

那么,您认为这可能是什么问题?我一直在互联网上的堆栈溢出和其他地方徘徊,但我没有看到任何尝试常见解决方案的结果。

请随时向我索取更多数据。

【问题讨论】:

【参考方案1】:

我曾经有过这种情况 (here) - 不太漂亮,但我通过以下方式解决了它:

cordova platform remove ios

然后(你猜对了)......

cordova platform add ios

【讨论】:

是的,不知怎的,它工作了,也发出了ionic hooks add ios加上不做sudo chmod -R 777 *,所以现在工作了!

以上是关于ios 上的 Cordova 和 Ionic - 设备插件不起作用的主要内容,如果未能解决你的问题,请参考以下文章

ios 11.2.x 上的 ionic cordova 中的 Fire click 事件不起作用

没有 Ionic 的设备上的 Cordova 热重载

如何使用 Ionic / Cordova 在 iOS 上启用多任务处理?

Ionic 应用程序未在 iOS 上检测到 iBeacons (cordova-plugin-estimote)

如何使用 Ionic Cordova 框架和自签名证书绕过 iOS 11 中的 SSL 检查

保存文档cordova android android ios ionic angular