Cordoval在在iOS中的运用整理中的运用整理
一:关于Cordoval理论知识
1:PhoneGap是手机平台上流行的一款中间件。它构建在各种手机平台所提供的WebView(浏览器内核)组件的基础之上,使
用javascript语言对应用开发者提供统一的接口(如调用相机、调用其他本地组件),从而屏蔽了各手机平台上OS的异构。在
无线小组的调研任务中,我的任务主要是负责iOS平台上的调研。
2:PhoneGap因为被捐赠给了Apache而改名为Cordova,所以PhoneGap里的类名都以CDV作为前缀。在iOS平台上,最重要
的一个核心类是CDVViewController。该类直接继承自UIViewController,因而具备了所有UIViewController所具备的特性。同
时,该类还实现了两个Protocol(即接口):UIWebViewDelegate和CDVCommandDelegate。因此它也负责UIWebView的一
些callback,以及CDVInvokedUrlCommand的执行。
3:CDVViewController类的主要对象成员是CDVCordovaView *webView,在源代码中可以看出,这个webView对象是
CDVViewController的self.view上的唯一被add进来的子对象,即负责了整个CDVViewController类的显示。而
CDVCordovaView类则没什么特别的,它直接继承自UIWebView。
4:当CDVViewController在构建时,它有两个很重要的属性:NSString*wwwFolderName和NSString *startPage。这两个属性
值使得CDVViewController在load之后直接加载wwwFolderName下的startPage作为初始显示的页面。
以上是对CDVViewController的一个简单介绍。容易明白的是,在iOS应用中使用了CDVViewController之后,界面实际上就完
全交给了CDVCordovaView*webView,即一个UIWebView。
二:使用Cordoval常碰到的问题
config.xml 是一个用来配置应用的全局属性的文件, 在此文件中配置的属性应该是能适应所有平台的. 在编译的时候配置文件将
会被编译到对应的平台中.
1:如何在Cordoval加载远程的URL网址
在Config.xml配置文件时增加下面两个,便可以打开URL的HTML页面
2:在Cordoval中加载同一个域的URL是在APP打开,跳转到其它却是用safari浏览器打开
同样是在Config.xml配置中把下面两个删除,这样它便会一直在APP里面进行跳转
2.1:禁用 WebViewBounce
UIWebView是iOS SDK中一个最常用的控件, 在Cordova中, 默认也是使用UIWebView作为默认视图显示我们的HTML应用的.