PhoneGap0.9.6的Connecton插件与MessageUI.framework中的Connection冲突
对一个运行正常的项目加入MessageUI.framework后,项目刚刚开始运行就Crash了。
原因分析:
分析后发现是因为MessageUI.framework中的Connection类与PhoneGap0.9.6中的Connection插件冲突了,因为PhoneGap的插件的实例化类似于用了反射机制,在PhoneGapDelegate里实例化PhoneGap自己的Connection ObjectiveC类的时候是用MessageUI.framework中的Connecton类,但是在PhoneGapDelegate里还会调用initWithWebView方法,而MessageUI.framework中的Connecton类却没有这个方法,所以会Crash。
解析方法:
方法1)升级PhoneGap到1.0及其以后。这个方法没有试过,据说可以。
方法2)把PhoneGap0.9.6源码中的Connection插件ObjectiveC类名改个名字,如PGConnection,同时把其它引用这个类名地方也改过来。再把项目中引用的PhoneGap0.9.6.js和PhoneGap0.9.6.min.js文件中Connection类改为PGConnection。把PhoneGap.plist文件中之前插件部分的Connection的key和value都改为PGConnection。最后,不要忘了一个地方,在PhoneGapDelegate中379行左右“id cmd = [self getCommandInstance:@"Connection"];”改为“id cmd = [self getCommandInstance:@"PGConnection"];”。
OK,这样于运行项目就万事大吉了,而且又不影响MessageUI.framework和PhoneGap0.9.6各自的Connection类的功能使用。
分享到:
相关推荐
《Apress.Beginning.PhoneGap.Mobile.Web.Framework.for.JavaScript.and.HTML5.2012》这本书主要探讨了如何利用PhoneGap框架结合JavaScript和HTML5技术来开发跨平台的移动应用程序。PhoneGap是一个开源框架,它允许...
phonegap插件实现扫一扫功能.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
PhoneGap的核心思想是将Web应用包装在原生的移动应用壳中,使得这些Web应用能够访问设备的功能,如摄像头、GPS、加速度计等,而无需编写原生代码。这个框架由Adobe公司维护,并且遵循Apache许可证。 在"phoneGAP...
You will then learn how to build a hybrid application using PhoneGap. Finally, by the end of the book, you will be able to implement the most common features of modern mobile apps and build rich, ...
最新版本的phonegap-2.9.1是没有cordova-2.9.1.jar的,这里打包好给大家。
phonegap-cli, PhoneGap和 PhoneGap/构建 命令行 接口 PhoneGap命令行接口和 node.js 库。命令行命令行要求安装 node.js 版本 >=4.0.0安装 iOS sim 将应用程序部署到iOS模拟器。安装$ npm install
- **PhoneGap 2.x**:提及了PhoneGap的具体版本,这表明文档针对的是PhoneGap 2.x版本的特性与开发方法。开发者可以了解到该版本特定的API和功能。 - **移动应用开发(Mobile Application Development)**:该书专注...
总的来说,这个压缩包中的示例涵盖了PhoneGap应用中从相册选取图片并上传的基本步骤,包括使用Camera插件获取图片,以及使用FileTransfer插件上传图片。开发者可以根据自己的需求对这些代码进行调整,例如添加错误...
PhoneGap is a useful and flexible tool that enables you to create complex hybrid applications for mobile platforms. In addition to the core technology, there is a large and vibrant community that ...
cordova.js 是phonegap开发必备插件JS包 cordova.js 是phonegap开发必备插件JS包
parse-push-plugin, 在分析平台上,为 Cordova/Phonegap/ionic 推送通知插件 Parse.Push 插件Cordova/Phonegap/ionic.的Parse.Push 插件,用于宿主 Parse.com 和开放源码解析服务器。高光工作在 Parse.com 和解析...
在本教程中,我们将深入理解PhoneGap的工作原理,掌握如何创建一个简单的“Hello, World”应用,并了解这些关键技术在实际开发中的应用。 PhoneGap是一个开源框架,它允许开发者使用Web技术(如HTML、CSS和...
Couchbase-Lite-PhoneGap-Plugin, 在Couchbase或者Android上的PhoneGap应用中,安装Lite插件 用于 Couchbase Lite的插件Couchbase Lite是一个嵌入式的JSON数据库,用于偶尔连接的设备。 它在 background 中同步数据...
PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。
1. **添加依赖**:在PhoneGap项目中,需要将插件的源代码或通过Cordova/PhoneGap命令行工具添加到项目的配置文件(如`config.xml`)中,以便在构建过程中自动下载并引入插件。 2. **调用API**:在JavaScript代码中...
PhoneGap打开文档插件是移动应用开发中的一个重要组件,它允许开发者在PhoneGap应用程序中方便地查看和打开各种类型的文档。PhoneGap是一个基于HTML、CSS和JavaScript的框架,用于构建跨平台的原生移动应用。它利用...
北京现在实施汽车尾号限行,小弟的汽车尾号是 8,每周五不能上路,如果忘记了,周五上路了,...由于 javascript 没有这种命令,phonegap 又额外提供了一组 javascipt 扩展命令,包括读写 SD 卡、读写 GPS、读写短信等等
PhoneGap iOS 自定义插件是移动应用开发中的一个重要概念,它允许开发者利用JavaScript与原生iOS平台进行交互,实现更高效、更丰富的功能。PhoneGap是一个开源框架,它基于Apache Cordova,允许开发者使用HTML、CSS...
然后,在Eclipse中,选择项目的属性(Properties),进入Java Build Path,选择Libraries,通过Add JARs将phonegap.jar添加到项目类路径中。 5. **配置权限**:在AndroidManifest.xml文件中,添加必要的权限,这些...