Ionic app是如何編譯、打包、部署、調(diào)試?
在這個過程中,ionic,cordova各自做哪些工作?
發(fā)現(xiàn)之前對這個過程不是很了解。現(xiàn)在總結(jié)一下。
如果不特別說明,ios和android都可以,命令以ios為例。
以目標(biāo)不同來總結(jié)打包的過程。
1. 從src到ipa
需要經(jīng)過下面的步驟:
生成platform ->源碼編譯->生成www->修改platform的www->打包為ipa
那么這些步驟具體如何操作:
1.1 生成platform
? 命令:$ cordova platform add ios
這個過程只需要cordova cli,執(zhí)行完成會在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的內(nèi)容打包到www目錄下。
修改platform的www是cordova build的過程
cordova build會把www目錄下的內(nèi)容移動到platform下面的www目錄下,并對platform中的ios進(jìn)行打包成ipa。
build.json是對證書,team等的配置,如果不加build.json需要在xcode中提前配置好,再運行此命令。
至于build.json如何寫可以參考cordova官網(wǎng)https://cordova.apache.org/docs/en/latest/guide/platforms/ios/
如果在手機(jī)上調(diào)試,可以不加build.json,可以通過xcode配置一次,之后就不用再設(shè)置了。
2. 從platform到ipa
如果platform的www目錄不用修改,只修改了插件相關(guān)的,可以通過下面的命令編譯為ipa。
命令: $ cordova build ios
3. 從platform到手機(jī)運行
命令: $cordova run ios
運行指揮會直接打包并安裝到手機(jī)上(這時候手機(jī)要通過usb連接到mac機(jī)上)
4. 從ipa到手機(jī)運行
命令: $ios-deploy -d -b? myapp.ipa
直接對ipa進(jìn)行安裝, ios-delopy安裝如果無法通過sudo npm install ios-deploy,那么可以采用
sudo npm install --prem ios-deploy
此命令只能用在ios上,android的可以采用
命令: $ adb install -r myapp.apk
5. 從src到手機(jī)運行
命令: $?ionic cordova run ios
6. 從src到手機(jī)運行(修改代碼直接reload調(diào)試)
類似于瀏覽器運行的ionic serve,修改src后保存代碼,編譯器會自動reload code到手機(jī)上。
命令: $?ionic cordova run ios --livereload
7. 手機(jī)app調(diào)試
可以直接在safari上進(jìn)行調(diào)試,但是編譯的版本需要為debug版本。
手機(jī)app運行之后,點擊safari的開發(fā),找到相應(yīng)的app名,點擊app名就可以在safari對手機(jī)app進(jìn)行調(diào)試。