为了开发HTML5,除了最新使用React Native等之外,目前首选的为稳定的ionic+Angularjs来开发iOS和android.
Ionic(ionicframework一款接近原生的HTML5移动App开发框架 会html css js就可以开发app
ionic中文教程讲解的很清楚,此网站翻译了一些原官网文档,而且也有诸多例子,让我们能够更好的学习.本教程讲述一下ionic、cordova安装的具体内容.
1. 安装npm 、node.js
1.1 打开`终端(Terminal)`,分别输入以下内容:
npm -v
node -v
如果npm或者node可能并非最新版本或者没有安装,可以到nodejs官网下载最新版本.
下载好后双击下载的pkg包默认安装即可。
2.安装ionic和cordova
2.1 因为某些原因,国内的网络安装ionic和cordova 会出现错误,因此要跳过某些墙。采用淘宝NPM镜像。打开终端直接输入以下命令即可。
npm install -g cnpm --registry=https://registry.npm.taobao.org
2.2 通过淘宝NPM镜像就可以安装ionic和cordova包.
输入在终端中以下内容:
sudo cnpm install -g cordova ionic
**ps:等待时间可能会长,请耐心等候**
输出以上内容即可安装成功。
2.3 安装成功以后,要查看安装的包内容是否全部都已安装.运行命令:
ionic info
上图中所显示的Not installed代表未安装,安装方式即为红色给出的内容,照着内容安装即可以.
**ps:不安装的情况下就是不能在此环境下编译等,但是对于浏览器运行无影响.**
`ios-sim`代表模拟器运行环境,
`ios-deploy`代表真机运行环境。
**ps:博主只安装了模拟器环境**
3. 项目
3.1 项目生成
终端运行
//进入桌面
cd ./Desktop
//生成demo_1文件项目
ionic start demo_1
如果创建`iOS`应用,`终端`运行:
cd demo_1
ionic platform add ios (可能会需要sudo)
ionic build ios
ionic emulate ios //模拟器运行
生成的iOS应用会在`platforms`文件夹中显示。
网友评论
我现在使用的vm的虚拟机安装的mac os 10.12的系统。我的目的是达到像我在windows建立安卓平台的效果,插上usb连接电脑,运行ionic cordova run android -l 就这句命令,我编辑代码后保存,手机上APP自己刷新的DEBUG功能。
但是在苹果上我遇到很多问题,开始是build ios的时候,出现 **ARCHIVE FAILED** 这样的错误。查找资料才知道要在XCODE上登录ID,注册证书之类的。弄完这一切,archive success。
但就出现了我这么多天一直搞不定的错误,**EXPORT FAILED**,一直搞不清楚这个问题是什么情况,但我知道是XCODE有什么没对,但在网上找了找也没找到答案。
错误信息:
** EXPORT FAILED **
Error: Error code 70 for command: xcodebuild with args: -exportArchive,-archivePath,MyApp.xcarchive,-exportOptionsPlist,/Users/yeezy/cbe/platforms/ios/exportOptions.plist,-exportPath,/Users/yeezy/cbe/platforms/ios/build/device
下面是我一些配置信息;
global packages:
@IONIC/cli-utils : 1.3.0
Cordova CLI : 7.0.1
Ionic CLI : 3.3.0
local packages:
@IONIC/app-scripts : 1.3.7
@IONIC/cli-plugin-cordova : 1.3.0
@IONIC/cli-plugin-ionic-angular : 1.3.0
Cordova Platforms : ios 4.4.0
Ionic Framework : ionic-angular 3.3.0
System:
Node : v6.10.3
OS : macOS Sierra
Xcode : Xcode 8.3.2 Build version 8E2002
ios-deploy : 1.9.1
ios-sim : 5.0.13
The platform command has been renamed. To find out more, run:
ionic cordova platform --help
我这里是一个ionic工程 ,我按一下步骤出现报错:
先执行: ionic cordova run
在 cordova run ios 这一步报错:
Error: ios-deploy was not found. Please download, build and install version 1.9.0 or greater from https://github.com/phonegap/ios-deploy into your path, or do 'npm install -g ios-deploy'
麻烦您看下,thank you !!!
@IONIC/cli-utils : 1.3.0
Ionic CLI : 3.3.0
System:
Node : v8.0.0
OS : macOS Sierra
Xcode : Xcode 8.3.3 Build version 8E3004b
ios-deploy : 1.9.1
ios-sim : 5.1.0
错误代码:
Signing Identity: "-"
/usr/bin/codesign --force --sign - --timestamp=none /Users/lzm/Desktop/demo_3/platforms/ios/build/emulator/MyApp.app
** BUILD SUCCEEDED **
Error: Cannot read property 'replace' of undefined
[ERROR] Cordova encountered an error.
You may get more insight by running the Cordova command above directly.
[ERROR] An error occurred while running cordova emulate ios (exit code 1).
当用ionic cli命令行创建项目的时候 这个命令行工具(ionic cli)会到github上去下载项目的模板(那个模板在不断更新), 目前那个模板已经到了3.2.x版本, 这个模板的版本号就是Ionic Framework Version. 要使用这个模板需要在创建项目的时候加--v2的参数 (不然ionic cli会到github上下载ionic1.x的模板)
执行ionic info可以查看当前的ionic相关的环境变量, 这样有助于别人帮助你. 我的如下, FYI:
Your system information:
Cordova CLI: 6.5.0
Ionic Framework Version: 3.2.0
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.7
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v6.10.2
Xcode version: Xcode 8.3.2 Build version 8E2002
安装ionic cli 2.x
确认你当前系统上ionic cli的版本ionic -v, 如果不是 ionic 2.x版本, 使用如下方式降级
npm uninstall -g ionic
npm cache clean
npm install -g ionic@2
ionic start your-project blank --v2 --id com.xxx.myproject
注:
ionic cli 2默认会创建ionic 1.x的项目, 如果要创建ionic2+(包括3)的项目, 需要多加了个--v2的参数. @2会自动下载最新的2.x版本, 不用给出具体的版本号.
如果报错,请贴出具体的错误信息, 比如我曾碰到过如下错误:
Mac上一条命令搭建环境: npm install -g ionic@2 cordova ios-sim ios-deploy
如果安装ios-deploy报错: npm ERR! enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/ios-deploy/build/Release/ios-deploy
执行sudo npm install -g ios-deploy --unsafe-perm=true解决
错误2: Error: Cannot find module 'q'
执行npm install --save q && npm install --save nopt解决
npm ERR! Please include the following file with any support request:
npm ERR! /Users/lijialu/npm-debug.log
Installing npm packages...
npm WARN package.json ionic-project@1.1.1 No repository field.
npm WARN package.json ionic-project@1.1.1 No license field.
一直在下载状态,跟换了网络也不好使,这个该怎么处理啊。
sudo npm install -g cordova ionic
Dependency warning - for the CLI to run correctly,
it is highly suggested to install/upgrade the following:
Please install your Cordova CLI to version >=4.2.0 `npm install -g cordova`
******************************************************
我的也是,一直报cordova,但是我已经安装上了,还是6.1.1版本的
ios:~ mac$ sudo cordova -v
Password:
6.1.1
怎么解决呀?
lyw:~ david$ cordova -v
/usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:53
throw err;
^
Error: EACCES: permission denied, open '/Users/david/.config/configstore/update-notifier-cordova.json'
You don't have access to this file.
at Error (native)