Windows上使用ionic开发IOS程序
Windows上使用ionic开发IOS程序
开发ios程序需要mac本,但是好多屌丝们没有Mac 本,那就在虚拟机上安装一个MacOS,凑合着用吧。
下面我就以我自己的亲身经历,带着ionic爱好者一步一步的在windows上开发ios程序
安装VMware和Mac OS
参看我的这篇文章windows上安装Mac OS
ionic开发ios程序
安装Xcode
为什么要安装Xcode呢?
ionic开发Android程序都不需要安装eclipse等IDE,只要一个能写SSS,JS
HTML的IDE就行(Hbuilder,WebSotrom,Sublime Text), 开发完成之后不就执行个ionic platform add android,ionic build android,然后就能生成一个.apk文件,给手机上一安装O了。
ionic开发ios程序就得安装Xcode IDE,这是因为蛋疼的ios程序无法直接使用命令生成,使用命令只能生成.project文件,然后再使用Xcode IDE将.project文件转成.ipa文件,更让人蛋疼的是这个ipa文件居然也不能被直接安装到爱疯上,只能先上传到APP Store,人家审核通过之后,我们再从APP Store上下载。(看到这你可能快疯了,但是没法啊,谁让人家NB呢。好了废话少说了,乖乖安装Xcode吧)
安装ionic开发环境
(这个和在windows上安装android开发环境类似)
安装Nodejs
百度下载,傻瓜式安装,注意:屌丝们,你现在是Mac本,所以需要下载Nodejs for mac的,别下错了
安装cordova,ionic
sudo npm install -g cordova
sudo npm install -g ionic
或者合成一句统一安装
sudo npm install -g cordova ionic
创建项目
ionic start firstIonicProjectForIos [tabs][blank][sidememu]
浏览器中运行项目(调试项目)
cd firstIonicProjectForIos
ionic serve(自动在afai浏览器中打开)
模拟器中运行项目
因为apple开发的证书限制我们在没有申请购买apple账号的情况下,使用虚拟机来部署我们的应用,在部署之前需要使用npm安装一个ios-sim插件用来调用模拟器的,执行命令:
sudo npm install -g ios-sim
然后执行
ionic platform add ios (添加ios平台)
ionic build ios
开始编译项目,编译完成之后用Xcode打开开发目录下platform->ios->myIonic.xcodeproj的项目文件,Xcode中选择要运行的虚拟机版本并执行快捷键cmd+R运行虚拟机,虚拟机打开后会自动运行你应用。
当然你也可以使用命令:
ionic emulate ios(在ios模拟器中打开)/ionic run ios(我的报错了)
PS: 为什么不用run ios 命令直接启动虚拟机呢,因为我的环境下执行run会报错,虚拟机会打开但是无法运行程序,找了半天解决解决方案没有结果,索性直接用Xcode了,效果是一样样的。
PS:运行时千万别直接双击XXX.xcodeproj文件使用Xcode打开,这种打开方式在模拟器中运行时Xcode会报build faild的错误。
而应该先打开Xcode
点击Open another project…,然后选择项目目录/platforms/ios/xxx.xcodeproj
PS:在IOS模拟器中输入中文
找到模拟器的Settings—>General–>Keyboard–>International KeyBoards–>Add New Keyboard–>Chinese Simplified(PinYin) 即我们一般用的简体中文拼音输入法,配置好后,再输入文字时,点击弹出键盘上的“小地球”就可以输入中文了。
打包项目
能使用Ionic来开发app的很可能对Ios和android的app打包发布流程不是很熟悉,我这里简单说明下:
ionic build android命令执行完成之后会在
项目目录/platforms/android/build/outputs/apk目录下面生成.apk文件。
但是ionic build ios命令执行完成之后不会生成.ipa文件,只会在
项目目录/platform/os目录下生成.xcodeproj文件,这个文件需要借助Xcode才能将其打包成.ipa文件。
因此接下来的任务就成了使用Xcode打包.xcodeproj成为.ipa的事情了。
参见我的这篇文章Xcode打包项目教程(.xcodeproj=>.ipa)
- AQS应用
- php 闭合标记,什么叫自闭合标签?自闭标签有什么用
- 功能安全软件架构
- 前端和Java后端分别需要学哪些技术?
- 微信小程序实例:实现tabs选项卡效果
- pareto最优解程序
- 全面解析PaDiM
- module.exports 与 exports.xxx 的区别
- 什么是MVC设计模式?
- 设计模式——MVC
- 基于Redis的消息中心缓存搭建
- (转)ANDROID强制锁定竖屏
- 小米笔记本Pro15.6蓝屏(0x00000124)——重装系统,拆机清灰加固态
- 【结构体】 结构体引用、结构体数组指针、包含结构的结构体
- python
- Gradle编译生成不同的版本,动态设定应用标题应用图标替换常量
- Lock和Rlock