`

PhoneGap0.9.6的Connecton插件与MessageUI.framework中的Connection冲突

 
阅读更多

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类的功能使用。

0
3
分享到:
评论

相关推荐

    Apress.Beginning.PhoneGap.Mobile.Web.Framework.for.JavaScript.and.HTML5.2012

    《Apress.Beginning.PhoneGap.Mobile.Web.Framework.for.JavaScript.and.HTML5.2012》这本书主要探讨了如何利用PhoneGap框架结合JavaScript和HTML5技术来开发跨平台的移动应用程序。PhoneGap是一个开源框架,它允许...

    phonegap插件实现扫一扫功能.rar

    phonegap插件实现扫一扫功能.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    phoneGAP2.9.1.zip

    PhoneGap的核心思想是将Web应用包装在原生的移动应用壳中,使得这些Web应用能够访问设备的功能,如摄像头、GPS、加速度计等,而无需编写原生代码。这个框架由Adobe公司维护,并且遵循Apache许可证。 在"phoneGAP...

    PhoneGap.3.Beginners.Guide.3rd.Edition.1784392286

    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-2.9.1是没有cordova-2.9.1.jar的,这里打包好给大家。

    phonegap-cli, PhoneGap和 PhoneGap/构建 命令行 接口.zip

    phonegap-cli, PhoneGap和 PhoneGap/构建 命令行 接口 PhoneGap命令行接口和 node.js 库。命令行命令行要求安装 node.js 版本 >=4.0.0安装 iOS sim 将应用程序部署到iOS模拟器。安装$ npm install

    .PhoneGap.2.x.Mobile.Application.Development

    - **PhoneGap 2.x**:提及了PhoneGap的具体版本,这表明文档针对的是PhoneGap 2.x版本的特性与开发方法。开发者可以了解到该版本特定的API和功能。 - **移动应用开发(Mobile Application Development)**:该书专注...

    Phonegap从相册选择图片上传图片.rar

    总的来说,这个压缩包中的示例涵盖了PhoneGap应用中从相册选取图片并上传的基本步骤,包括使用Camera插件获取图片,以及使用FileTransfer插件上传图片。开发者可以根据自己的需求对这些代码进行调整,例如添加错误...

    Mastering.PhoneGap.Mobile.Application.Development.1783288434

    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包 cordova.js 是phonegap开发必备插件JS包

    parse-push-plugin, 在分析平台上,为 Cordova/Phonegap/ionic 推送通知插件.zip

    parse-push-plugin, 在分析平台上,为 Cordova/Phonegap/ionic 推送通知插件 Parse.Push 插件Cordova/Phonegap/ionic.的Parse.Push 插件,用于宿主 Parse.com 和开放源码解析服务器。高光工作在 Parse.com 和解析...

    PhoneGapHelloWorld

    在本教程中,我们将深入理解PhoneGap的工作原理,掌握如何创建一个简单的“Hello, World”应用,并了解这些关键技术在实际开发中的应用。 PhoneGap是一个开源框架,它允许开发者使用Web技术(如HTML、CSS和...

    Couchbase-Lite-PhoneGap-Plugin, 在Couchbase或者Android上的PhoneGap应用中,安装Lite插件.zip

    Couchbase-Lite-PhoneGap-Plugin, 在Couchbase或者Android上的PhoneGap应用中,安装Lite插件 用于 Couchbase Lite的插件Couchbase Lite是一个嵌入式的JSON数据库,用于偶尔连接的设备。 它在 background 中同步数据...

    phonegap 3.5.0 jar

    PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。

    phonegap在线更新插件(android)

    1. **添加依赖**:在PhoneGap项目中,需要将插件的源代码或通过Cordova/PhoneGap命令行工具添加到项目的配置文件(如`config.xml`)中,以便在构建过程中自动下载并引入插件。 2. **调用API**:在JavaScript代码中...

    phonegap打开文档插件

    PhoneGap打开文档插件是移动应用开发中的一个重要组件,它允许开发者在PhoneGap应用程序中方便地查看和打开各种类型的文档。PhoneGap是一个基于HTML、CSS和JavaScript的框架,用于构建跨平台的原生移动应用。它利用...

    XIANXING.zip_Java 8_c# 尾号限行_phonegap_site:en.pudn.com

    北京现在实施汽车尾号限行,小弟的汽车尾号是 8,每周五不能上路,如果忘记了,周五上路了,...由于 javascript 没有这种命令,phonegap 又额外提供了一组 javascipt 扩展命令,包括读写 SD 卡、读写 GPS、读写短信等等

    PhoneGap iOS 自定义插件

    PhoneGap iOS 自定义插件是移动应用开发中的一个重要概念,它允许开发者利用JavaScript与原生iOS平台进行交互,实现更高效、更丰富的功能。PhoneGap是一个开源框架,它基于Apache Cordova,允许开发者使用HTML、CSS...

    phoneGap在android中使用方法.pdf

    然后,在Eclipse中,选择项目的属性(Properties),进入Java Build Path,选择Libraries,通过Add JARs将phonegap.jar添加到项目类路径中。 5. **配置权限**:在AndroidManifest.xml文件中,添加必要的权限,这些...

Global site tag (gtag.js) - Google Analytics