Ionic app是如何编译、打包、部署、调试?
在这个过程中,ionic,cordova各自做哪些工作?
发现之前对这个过程不是很了解。现在总结一下。
如果不特别说明,ios和android都可以,命令以ios为例。
以目标不同来总结打包的过程。
1. 从src到ipa
需要经过下面的步骤:
生成platform ->源码编译->生成www->修改platform的www->打包为ipa
那么这些步骤具体如何操作:
1.1 生成platform
命令:$ cordova platform add ios
这个过程只需要cordova cli,执行完成会在src下生成platforms的ios目录
这个完成会把ios打包需要的www目录以及plugin等其他lib放在ios目录,以便完成后面的打包操作。
1.2 源码编译->生成www->修改platform的www->打包为ipa
命令:$ ionic cordova build ios --buildConfig build.json
www的生成需要ionic build,即ionic把src的内容打包到www目录下。
修改platform的www是cordova build的过程
cordova build会把www目录下的内容移动到platform下面的www目录下,并对platform中的ios进行打包成ipa。
build.json是对证书,team等的配置,如果不加build.json需要在xcode中提前配置好,再运行此命令。
至于build.json如何写可以参考cordova官网https://cordova.apache.org/docs/en/latest/guide/platforms/ios/
如果在手机上调试,可以不加build.json,可以通过xcode配置一次,之后就不用再设置了。
2. 从platform到ipa
如果platform的www目录不用修改,只修改了插件相关的,可以通过下面的命令编译为ipa。
命令: $ cordova build ios
3. 从platform到手机运行
命令: $cordova run ios
运行指挥会直接打包并安装到手机上(这时候手机要通过usb连接到mac机上)
4. 从ipa到手机运行
命令: $ios-deploy -d -b myapp.ipa
直接对ipa进行安装, ios-delopy安装如果无法通过sudo npm install ios-deploy,那么可以采用
sudo npm install --prem ios-deploy
此命令只能用在ios上,android的可以采用
命令: $ adb install -r myapp.apk
5. 从src到手机运行
命令: $ ionic cordova run ios
6. 从src到手机运行(修改代码直接reload调试)
类似于浏览器运行的ionic serve,修改src后保存代码,编译器会自动reload code到手机上。
命令: $ ionic cordova run ios --livereload
7. 手机app调试
可以直接在safari上进行调试,但是编译的版本需要为debug版本。
手机app运行之后,点击safari的开发,找到相应的app名,点击app名就可以在safari对手机app进行调试。