Cordova(PhoneGap)使用(iOS)

1、Cordova说明:

Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。 Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。 Cordova支持如下移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。

Cordova是贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。你可以把他想象成类似于Webkit和Google Chrome的关系

官方说明文档

官方常用命令文档

2、安装(终端)

$ sudo npm install -g cordova

安装之后使用 cordova help如果出现如下问题:

-bash: cordova: command not found

执行如下操作即可:(解决该问题连接)

sudo chown -R $USER /usr/local
sudo chmod -R 0775 /usr/local
npm install -g cordova

3、创建iOS项目(终端)

$ cd ~/Desktop/
$ cordova create hello com.example.hello HelloWorld (Desktop路径下生成“hello”目录)
$ cd hello
$ cordova platform add ios (下载iOS相关资源)

Desktop/hello/platforms/ios/下打开HelloWorld.xcodeproj项目即可

4、创建cordova调用设备相册的iOS项目

3建立的项目基础上进行

cd ~/Desktop/hello
$ cordova plugin add org.apache.cordova.camera (下载cordova调用设备相册相关资源)
$ cordova plugin add org.apache.cordova.media-capture
$ cordova plugin add org.apache.cordova.media

$ cordova plugin add org.apache.cordova.file (下载cordova调用访问设备文件资源)
$ cordova plugin add org.apache.cordova.file-transfer

下一步来实现调用设备相册功能,可以加载本地的js、html文件来实现,也可以通过本身包含调用设备相册的动态网页来实现。先实现本地的js、html文件功能:
将下载后的index.html替换项目hello/platforms/ios/www/中的index.html,将下载后的phonegap.js加入项目工程中,在真机运行:

点击 Gapture Photo:

由于公司项目,不能公开动态网页链接,但是本人亲测调用设备相册的动态网页是没有问题的。

实现代码:在继承CDVViewControllerViewController中的ViewDidLoad

- (void)viewDidLoad {
    [super viewDidLoad];

    NSURLRequest *rq = [NSURLRequest requestWithURL:[NSURL URLWithString:@"dynamic_camera_url"]];
    [self.webView loadRequest:rq];
}

5、向已存在的iOS项目植入cordova

1、新建xcode项目,命名为CordovaDemo
2、进入hello/platforms/ios/

CordovaLib文件夹拖入到CordovaDemo中: 

再将www文件夹拖入到CordovaLib中:(Added folders选择为Create folder references) 

HelloWorld中的config.xmlPlugins(没有这个文件,不能拍照!)拖入到CordovaLib中: 

3、代码编写:

ViewController继承于CDVViewController: 

4、运行出现错误,添加<Foundation/Foundation.h>框架即可:

5、实现调用设备相册功能,参照  "创建cordova调用设备相册的iOS项目"
6、搞定回家!!最终项目下载地址

6、项目遇到的问题:

1、对cordova的项目archive时,提示“cordova/cdvplugin.h‘ file not found”失败

add $(OBJROOT)/UninstalledProducts/include to BuildSettings->Header Search Paths 解决该问题连接

时间: 2024-11-10 17:32:42

Cordova(PhoneGap)使用(iOS)的相关文章

[Cordova/Phonegap] Cordova iOS 应用在第三方输入法的键盘弹出(点击输入框)时,页面不上移,导致输入框被键盘遮挡 的解决办法

http://blog.csdn.net/lovelyelfpop/article/details/52033045 Cordova iOS应用在使用系统自带输入法键盘的时候,聚焦文本框是会将整体webview界面上移的,如下图: 然而,如果你用的是第三方输入法(百度.搜狗.qq输入法等都是),聚焦文本框弹出键盘时,界面却不会整体上移,导致文本框被软键盘遮挡,如下图: 不仅被遮挡,靠底部的文本框还无法往上拖拽滚至可视区域. 解决办法一:第三方键盘弹出,实现界面也能上移 使用 ionic-plug

Phonegap 之 iOS银联在线支付(js调用ios端银联支付控件)

Phonegap项目,做支付的时候,当把网站打包到ios或android端成app后,在app上通过wap调用银联在线存在一个问题: 就是当从银联支付成功后,再从服务器返回到app客户端就很难实现. wap银联支付流程是这样:客户端---> 服务器(构建支付请求)--> 银联支付 ---> 返回到服务端(处理支付结果).所以对于手机网站银联支付没有问题,但是对于ios端app和android端app, 再通过wap支付,发现支付成功后,很难在回到app客户端了. 所以这里就必须借助Pho

PhoneGap入门 iOS 插件开发

老师让研究一下PhoneGap.看一下iOS 和HTML CSS javascript的混合开发.研究了两天,搞出来点东西来记录一下. PhoneGap是什么? PhoneGap是一个开源的开发框架.它允许使用标准的web技术如HTML5.CSS3.javascript进行跨平台开发.也就是使用开发手机app,就不需要一个iOS版本,一个Android版本了.用它一个就够了. Cordova 是什么? cordova是PhoneGap的核心,提供了一套设备相关的API,能够通过javascrip

配置PhoneGap 到iOS

下载 phonegap安装phonegap之前需要NodeJS环境,下载NodeJS并安装.安装环境的目的是为了使用phonegap命令行. 3. 安装phonegap使用命令    $phonegap create my-app    $cd my-app     $phonegap run iOS这样就会自动创建ios环境,可以在目录my-app/platforms/中找到ios目录.这样系统就自动为我们创建了一个ios的phonegap项目.此项目在默认目录中.4. 自定义项目创建路径命令

百度广告cordova/phonegap插件使用教程

百度联盟cordova/phonegap插件,是一个方便html5开发着使用的百度广告插件,能很方便的在html5混合应用如cordova,xdk,appcan,webx5,jqmobile.sencha touch,ionic中接入百度ssp联盟广告, ios和android应用都支持,代码完全一样无需修改. 使用过程如下 安装cordova/phonegap百度广告插件 我最开始是使用的cordova命令行直接通过github远程的方式安装,在命令行中输入 cordova plugin ad

cordova无法删除ios插件的解决办法

错误如下: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff; min-height: 13.0px } span.s1 { } Unin

PhoneGap For iOS开发&amp;测试环境搭建

1.创建目录 cd 进入 2.phonegap create hello "com.zph.hello" "helloWorld"   //创建工程 3.cd hello;phonegap build ios //为phonegap添加ios平台支持 4.appDelegate文件中 打开self.viewController.startPage = @"index.html";

iOS 集成 Cordova(phoneGap ) 注意事项

(一)集成步骤 1.直接拖拽project 文件到父级文件(不能直接拖文件夹) 2.修改Other Linker Flags 中的引用 (根据自动生成的项目,复制成一样的即可) 3.主项目 Build Phases 中添加target 和 link binary with Libraries (二)头文件找不到解决方案 "$(BUILT_PRODUCTS_DIR)" "$(OBJROOT)/UninstalledProducts/include" "$(T

使用 Cordova(PhoneGap)构建Android程序

移动终端开发随着智能手机的普及变得越来越热,什么项目都想移动一把,但反观要去学这些各个终端的控件使用,实属不易,又特别是每个终端的控件及所用语言都各不相同,使得这种学习变得更加困难. 有没有一种简单的方式能够快速构建移动终端程序并能在各个终端平台上快速打包并正常使用? 答案是肯定的,并且这种框架还不少,本文简单的介绍通过Cordova(原名为phonegap)这个平台构建一个android 程序. 开发环境准备. 安装JDK,此步骤忽略,各位有意的看官可自行去oracle网站上下载你适合的jdk