ios phonegap入门,可以帮你省掉不少麻烦
来源:互联网 发布:php和asp哪个好 编辑:程序博客网 时间:2024/06/07 16:42
废话不多少,直接切入正题:
在mac上安装cocrdova有两种途径,一种是直接去phone gap官网下载,安装上直接新建ios 项目会让你选择phonegap,选择即可,第二种是利用终端进行创建项目,本文主要讲第二种创建方式。
目前一般我们所说的phonegap指的就是cordova,cordova是phone gap被捐给apache之后使用的项目名字,phonegap build是一个在线打包工具,你把使用cordova写好的项目给phonegap build,phonegap build就会在线打包成App,所以我们先将cordova下载到我们电脑上:
下载corddemo不多做说明,本文是在cordova已经安装完毕的情况下进行的操作:
首先在桌面创建一个cordova文件夹用来存放项目,cd到该文件夹下:
apple$ cd desktop cd到桌面
apple$ cd corddemo cd到cord demo文件夹下
cordova create text com.corddemo.test text 创建一个包名为com.corddemo.test,App名字叫text的项目,存放在text文件夹下:
打开corddemo文件夹会看到text文件夹,再进一步打开text会看到创建好了一个项目:
我们可以在终端输入 cordova help 来查看所有的我们可以操作的方法:
1. 为我们刚才创建的项目添加ios支持平台:
首先进入我们项目:
cd text
输入下面命令添加平台:
cordova platform add ios --save
2.到这里,我们这个项目就创建完成了,打开我们能创建的corddemo->text->platforms->Ios,打开我们的项目,command+B编译一下有无错误,我当时也遇到好多错喔,问题我也忘了是什么了,都是些改下配置的问题:
1.将targets下的buildsettings的iOS deployment target修改下
2. 将targets下的build options的compiler for C/C++ 改成default compiler(apple llvm 8.0)
再编译一下就没有错误了,运行出现下图说明我们配置成功:
3.然后我们看这个项目的重要文件:plugin(插件文件)和www(js,html 等一般都在这里面),当我们在html中创建一个div元素并声明一个js方法时可能相应不到这方法,是
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap:https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
这句话搞的鬼,先讲他注释掉就可以相应到了,
4.然后在plugin创建一个CDVPlugin的子类MyPlugin,创建出来之后编译一下可能会报错,说CDVPligin不存在,这是cordova本身的缺陷,将我们创建出来的MyPlugin.h的头文件换成
#import <Cordova/CDVPlugin.h>
即可。
5.js调用oc的方法其实是通过调用cordova.js里面的iosExec方法实现的,在js中调用oc方法时直接
cordova.exec(successCallback,failCallback,"MyPlugin","showAlert",[2]);其中,successCallback为成功之后的回调方法,failCallback为失败回调方法,"MyPlugin"为创建的plugin文件名字,showAlert为Myplugin生命的oc方法,[2]为需要给oc的参数。
6.在MyPlugin中声明一个名字为showAlert的方法,
-(void)showAlert:(CDVInvokedUrlCommand *)command;
其中,command为js通过cordova.js格式化的参数,
7.在oc中实现showAlert方法,
-(void)showAlert:(CDVInvokedUrlCommand *)commond{
NSLog(@"响应到了");
NSLog(@"%@",commond.callbackId);
NSString * vakc =@"返回值成功是调用此方法";
CDVPluginResult * pluginResult = [CDVPluginResultresultWithStatus:CDVCommandStatus_OKmessageAsString:vakc];
[self.commandDelegatesendPluginResult:pluginResultcallbackId:commond.callbackId];
}
<feature name="MyPlugin">
<param name="ios-package"value="MyPlugin"/>
</feature>
即可。参考链接:http://blog.csdn.net/TowardsYoung/article/details/47980065
参考链接:http://www.cnblogs.com/a418120186/p/5226417.html
- ios phonegap入门,可以帮你省掉不少麻烦
- PtrManager 帮你省掉所有的复杂代码
- OMAP开发资源推荐(可以帮你少走不少弯路)
- OMAP开发资源推荐(可以帮你少走不少弯路)
- OMAP开发资源推荐(可以帮你少走不少弯路) .
- Xcode iOS PhoneGap入门
- PhoneGap教程:PhoneGap IOS应用开发入门
- PhoneGap入门 iOS 插件开发
- IOS+PhoneGap入门(一)
- 这样做外链可以帮你实现排名
- [IOS] iOS开发之工具篇-20个可以帮你简化移动app开发流程的工具
- 两篇文章帮你入门Django(上)
- 两篇文章帮你入门Django(上)
- 两篇文章帮你入门Django(下)
- iOS开发之工具篇-20个可以帮你简化移动app开发流程的工具
- iOS开发之工具篇-20个可以帮你简化移动app开发流程的工具
- iOS开发之工具篇-20个可以帮你简化移动app开发流程的工具
- iOS开发之工具篇-20个可以帮你简化移动app开发流程的工具
- tableView的性能优化
- a girl i love
- R语言读取空间数据以及ArcGIS中OLS工具回归结果可视化R语言版
- Android7.0文件共享问题(FileUriExposedException)
- nginx localhost 跨域配置,限制header,限制提交方式method
- ios phonegap入门,可以帮你省掉不少麻烦
- 棋盘问题 (dfs)
- 今天偶然发现了一个免费云SVN平台,国内的
- Android 图片添加水印
- 非系统数据文件损坏,rman备份恢复
- Elasticsearch分页查询From&Size VS scroll
- 天易44------java实现对文件MD5校验
- shell编程(1)
- android应用开发-从设计到实现 3-10 资源的创建