Ionic Mac 环境配置

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Ionic Mac 环境配置

·        安装cordova之前要安装nodejs 会包含npm安装(npm是个包管理器),到官网下载https://nodejs.org/en/download/ 是个pkg包下载之后双击下载包运行然后 step by step,osx下会自动添加环境变量,不用手动配置,默认安装到、usr/local下,可以更改目录 

这一步就可以安装cordova了和ionic (这一步的主要问题是cordova安装包的镜像问题)

·       

如果提示上面的就表示安装成功了。$cordova –v;ionic –v

创建Ionic项目 ionic start myIonic blank

其中myIonic为我们的项目名称 
执行过程它会从github下载项目源码,请等待。。。 
执行完毕后你到开发目录下查看会发现多了一个名为myIonic的文件夹,这个文件夹就是Ionic项目的所在目录了。 
目录下有以下文件:

hooks           //google之后这个目录应该是在编译cordova时自定义的脚本命令,方便整合到我们的编译系统和版本控制系统中

plugins         //cordova插件的目录,插件的安装下一节详述

scss            //scss文件,发布时编译这个目录下的文件输出到www的css目录中

www             //我们的开发目录,页面、样式、脚本和图片都放在这个目录下

--css

--img

--js

--lib

--index.html

bower.json      //bower配置文件

config.xml      //Ionic的配置文件 ⱃ可以配置app的id,名称、描述起始页和一起其他配置

gulpfile.js     //gulp构建工具的执行文件,在这个文件中创建任务实现编译scss,css、js优化等

ionic.project   //Ionic的项目文件可以配置Ionic命令中livereload的监控文件

package.json    //npm配置文件

启动测试服务器:ionic serve

部署到手机和cordova插件的使用

一个简单的Web应用我们已经开发完成了,接下来我们就要做一些部署到移动端之前的准备了。 
Ionic支持两个平台ios、android,默认的Ionic项目并没有添加这两个平台,我们需要手动添加,cd到开发目录下执行命令:

ionic platform add android

ionic platform add ios

一般项目都需要两个平台同时部署,所以我们就添加两个,执行完毕之后执行命令查看你已经添加的平台列表:

ionic platform list

结果:

Installed platforms: android 4.0.0, ios 3.8.0

Available platforms: amazon-fireos, blackberry10, browser, firefoxos, windows, windows8, wp8

 

接下来的部署我们分开讲述:

http://cordova.apache.org/docs/en/5.1.1/guide/platforms/android/index.html

Install the Java Development Kit (JDK)

Install Java Development Kit (JDK) 7 or later.

When installing on Windows you also need to set JAVA_HOME Environment Variable according to JDK installation path (for example, C:\Program Files\Java\jdk1.7.0_75).

Install the Android SDK

Install the Android Stand-alone SDK Tools or Android Studio. Procceed with Android Studio if you plan developing new Cordova for Android plugins or using native tools to run and debug Android platform. Otherwise,Android Stand-alone SDK Tools are enough to build and deploy Android application.

Detailed installation instructions are available as part of installation links above.

For Cordova command-line tools to work, or the CLI that is based upon them, you need to include the SDK'stools and platform-tools directories in your PATH. On a Mac, you can use a text editor to create or modify the~/.bash_profile file, adding a line such as the following, depending on where the SDK installs:

    export PATH=${PATH}:/Development/android-sdk/platform-tools:/Development/android-sdk/tools

This line in ~/.bash_profile exposes these tools in newly opened terminal windows. If your terminal window is already open in OSX, or to avoid a logout/login on Linux, run this to make them available in the current terminal window:

    $ source ~/.bash_profile

Android 
Android部署分真机和虚拟机,其实方法类似,在部署之前需要安装JDK、Android SDK到开发环境中,配置好JDK的JAVA_HOME和Android SDK的ANDROID_HOME到环境变量中去,并把Android SDK安装目录添加到Path中。 
配置好之后打开PowerShell输入命令返回正确:

adb version

·       1

接下来就简单了,把手机连接到电脑,并开启usb调试模式,执行命令:

ionic run android

·       1

Ionic开始编译项目生成apk并远程安装到手机上后自动打开应用,是不是很简单?

IOS 
ios部署需要一台mac电脑,在mac电脑上面根据本篇ionic的安装过程安装环境之后,添加ios平台到项目,因为apple开发的证书限制我们在没有申请购买apple账号的情况下,使用虚拟机来部署我们的应用,在部署之前需要使用npm安装一个ios-sim插件用来调用模拟器的,执行命令:

sudo npm install -g ios-sim

·       1

安装好之后,cd 到开发目录下执行:

sudo ionic build ios

4.调试

我们在前面已经说过,在开发前期我们一般会在web中调试,而Ionic为我们提供了非常方面的web调试环境,只需要执行ionic serve就可以实现lievereload,而在部署到移动端后也可以开启livereload的,我们只需要修改下我们run命令参数:

ionic run android --livereload -c -s
·       1

这是android的调试模式,无论在虚拟机上还是在手机上都可以实现livereload,ios则只需要把android修改为ios即可,不用每次开发完成编译再部署!-c是开启客户端日志输出,-s是开启服务器端日志输出。–livereload参数的的意义在于修改生成包中的起始页面地址,修改为远程服务器地址这样就可以做到修改即通知客户端刷新页面了。

5.ios打包、android打包

能使用Ionic来开发app的很可能对Ios和android的app打包发布流程不是很熟悉,我这里简单说明下: 
Android 
Android的打包比较简单执行命令:

ionic build android -release 
·       1

找到www/platform目录下生成的apk包,此时的apk还不能被安装到手机上,还需要一步签名操作,大家可以参考: 
http://www.cnblogs.com/qianxudetianxia/archive/2011/04/09/2010468.html

IOS 
ipa文件的打包需要现在apple develop网站上注册一个账号,在网站申请生产环境的证书导入到你的开发机中和开发机绑定才可以使用xcode导出,详情参阅: 
http://blog.csdn.net/songrotek/article/details/8448331 
http://www.mexiqq.com/2014/07/25/xcode6+ios8%E6%9C%80%E6%96%B0%E7%9C%9F%E6%9C%BA%E8%B0%83%E8%AF%95%E6%95%99%E7%A8%8B/

 

http://cordova.apache.org/docs/en/5.1.1/guide/platforms/android/index.html

转载于:https://my.oschina.net/anziguoer/blog/634450

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据库原理及应用】经典题库附答案(14章全)——第六章:关系数据库设计过程

【数据库原理及应用】经典题库附答案(14章全)——第一章:数据库基础知识 【数据库原理及应用】经典题库附答案(14章全)——第二章:关系数据库知识 【数据库原理及应用】经典题库附答案(14章全)——第三章:结构化查询语言SQL 【数据库原理及应用】经典题库附答案(14章…

(03).NET MAUI实战 基础控件

1.概要本章将继续介绍.NET MAUI中的常用基础控件,让刚刚接触MAUI的小伙伴有写基础的认识,心里有底开发起来将得心应手。下面将列出一些常用的基础控件:控件名中文名称说明Button按钮与WPF中的基础用法无太大变化CheckBox单选框与WPF中的基础用…

ffmpeg源码分析及mp4文件解析

一.mp4文件的组织 1. mp4文件的box(ffmpeg中叫atom) mp4是由一系列的box组成的,每个box的header是8个字节(4字节的长度,4字节的type) 第一个box比较特殊,其type类型为ftyp,还包含一个sub-type 0000000: 0000 0020 6674 7970 6973 6f6d 0000 0200 ... f…

【数据库原理及应用】经典题库附答案(14章全)——第七章:数据库恢复技术

【数据库原理及应用】经典题库附答案(14章全)——第一章:数据库基础知识 【数据库原理及应用】经典题库附答案(14章全)——第二章:关系数据库知识 【数据库原理及应用】经典题库附答案(14章全)——第三章:结构化查询语言SQL 【数据库原理及应用】经典题库附答案(14章…

C++库(Google Breakpad)

Google Breakpad是什么? 一个开源的多平台崩溃报告系统。 Google breakpad是一个非常实用的跨平台的崩溃转储和分析模块,它支持Windows,Linux和Mac和Solaris。由于他本身跨平台,所以很大程度上减少了我们在平台移植时的工作&#…

java eleven进度条

2019独角兽企业重金招聘Python工程师标准>>> 一个矩形组件 MethodDescribleJProgrssBar()不带进度字符,最小值0最大值100的水平进度条JProgressBar(int orient)VERTICAL/HORIZONTALJProgressBar(int in,int max)指定最大最小的水平进度条JProgressBar(in…

Docker:多阶段构建 ASP.NET Core 应用镜像

本文选自『.NET大牛之路』知识星球,发布于2022年05月25日。今天我们一起来写 Dockerfile 构建一个 ASP.NET Core 应用镜像,同时还会将镜像发布到 Docker Hub 仓库。1创建示例 Web 应用程序为了演示,我们先创建一个 ASP.NET Core 应用程序&…

[转]【JAVA各版本特性】JAVA 1.0

闲来想了解下各版本之间的特性,搜索没有最新的特性说明,故想写一份。废话不多说。 JDK Version 1.0 1996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差&#xff0…

【数据库原理及应用】经典题库附答案(14章全)——第八章:数据库并发控制

【数据库原理及应用】经典题库附答案(14章全)——第一章:数据库基础知识 【数据库原理及应用】经典题库附答案(14章全)——第二章:关系数据库知识 【数据库原理及应用】经典题库附答案(14章全)——第三章:结构化查询语言SQL 【数据库原理及应用】经典题库附答案(14章…

Tomcat(Windows)

百度云:链接:http://pan.baidu.com/s/1pKYrf79 密码:56t0官网下载网址:http://archive.apache.org/dist/tomcat/tomcat-9/v9.0.0.M13/bin/ 转载于:https://www.cnblogs.com/haxianhe/p/9271103.html

北京Uber优步司机奖励政策(3月11日)

滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfryf/p/4612609.html 优步奖励低/不挣钱/怎么办?看这里:http://www.cnblogs.com/mfry…

【招聘(广州)】成功易(广州).Net Core中高级开发工程师

成功易(广州)信息技术有限公司简介成功易是一家集团性公司,创立于2002年,总部位于北京,旗下拥有7家子公司。广州成功易成立于2019年,人员逐渐增长150人,组织架构完善, 我们是腾讯广告…

【数据库原理及应用】经典题库附答案(14章全)——第九章:数据库安全性

【数据库原理及应用】经典题库附答案(14章全)——第一章:数据库基础知识 【数据库原理及应用】经典题库附答案(14章全)——第二章:关系数据库知识 【数据库原理及应用】经典题库附答案(14章全)——第三章:结构化查询语言SQL 【数据库原理及应用】经典题库附答案(14章…

webstrom使用方法

一、设置file-settings- -color&fonts设置,字体 主体 -file and code templates模板ctrlr 查找,替换1 双击shift 快速查找2 file -new project 新建文件夹3 file-new 新建html css js等4 右键-local history 查看历史5 双击选择某个元素,…

ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' 解决Mysql错误

1、停止 服务 PS C:\WINDOWS\system32> net stop mysql mysql 服务正在停止. mysql 服务已成功停止。2、执行 mysqld --shared-memory --skip-grant-tables PS C:\WINDOWS\system32> mysqld --shared-memory --skip-grant-tables ------以下操作 另外打开一个 终端--…

xcode 设置快捷键 整行上下移动

2019独角兽企业重金招聘Python工程师标准>>> 设置整行代码上下移动:找到Xcode中的自带的配置文件:/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist用文本编辑IDETextKeyBind…

【数据库原理及应用】经典题库附答案(14章全)——第十章:数据库完整性

【数据库原理及应用】经典题库附答案(14章全)——第一章:数据库基础知识 【数据库原理及应用】经典题库附答案(14章全)——第二章:关系数据库知识 【数据库原理及应用】经典题库附答案(14章全)——第三章:结构化查询语言SQL 【数据库原理及应用】经典题库附答案(14章…

用.Net Core接入微信公众号开发

Part1前言最近想写一点基于.Net Core微信公众号开发的文章Part2测试公众号申请测试公众号申请地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?tsandbox/login微信公众号开发文档:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html通过微…

腾讯、百度、小米等7家互联网各大厂的中台建设怎么样了?

中台是真正为前台而生的平台(可以是技术平台,业务能力甚至是组织机构),它存在的唯一目的就是更好的服务前台规模化创新,进而更好的响应服务引领用户,使企业真正做到自身能力与用户需求的持续对接。 以下转载…

JAVA基础知识之网络编程——-基于AIO的异步Socket通信

异步IO 下面摘子李刚的《疯狂JAVA讲义》 按照POSIX标准来划分IO,分为同步IO和异步IO。对于IO操作分为两步,1)程序发出IO请求。 2)完成实际的IO操作。 阻塞IO和非阻塞IO都是针对第一步来划分的,如果发出IO请求会阻塞线程…