安装插件后phonegap应用程序崩溃
Posted
技术标签:
【中文标题】安装插件后phonegap应用程序崩溃【英文标题】:phonegap app crashes after installing plugin 【发布时间】:2014-03-19 14:11:59 【问题描述】:在我为上一个问题找到修复后:phonegap-cordova-3-4-clean-build-gets-apple-mach-linker-error
所以现在,如果我做一个空白项目
$ cordova create hello com.example.hello HelloWorld
$ cordova platform add ios
$ cordova build ios
现在我需要按照这些说明进行操作 previous question 之后一切正常。
但是现在我要安装一个插件(不管是什么插件)。 现在我选择记录器(org.apache.cordova.console)
$ cordova plugin add org.apache.cordova.console
现在,如果我构建并运行应用程序。它在启动时崩溃。 见:screenshot
我在 xcode 中启用了 Zombie Objects。
即使我安装了以前版本的 phonegap(cordova)。我仍然需要完成所有这些步骤。在我刚刚创建、添加平台、构建和运行之前,它就完成了。
什么都没有了,请帮帮我。真的很烦。
编辑:如果我注释行 console.log('Received Event: ' + id);在 js/index.js 应用程序将启动,但如果我调用 console.log 它会崩溃。
【问题讨论】:
【参考方案1】:objc_msgSend 使用 arm64 上的插件导致 EXC_BAD_ACCESS
所以我找到了发生这种情况的原因:
我需要在 fie ios/CordovaLib/Classes/CDVCommandQueue.m 中替换
objc_msgSend(obj, normalSelector, command);
在
((void (*)(id, SEL, id))objc_msgSend)(obj, normalSelector, command);
现在一切都恢复正常了。
source
【讨论】:
【参考方案2】:我发现了一些东西。如果我为 ios 构建。 js(console-via-logger.js)做错了id screenshot
如果我改变了
cordova.define("org.apache.cordova.console.console", function(require, exports, module) /*
到
cordova.define("org.apache.cordova.console", function(require, exports, module) /*
它有效。
这与我或科尔多瓦有关吗?
科尔多瓦-v:3.4.0-0.1.3 npm -v: 1.4.5
【讨论】:
以上是关于安装插件后phonegap应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章
Phonegap Facebook 插件 - 从 Android 设备中删除应用程序后密钥哈希无效
PhoneGap / iOS LocalNotification 应用程序在点击“查看”时崩溃
Phonegap 应用程序在 Android 上安装但在 iOS 上运行时崩溃