蘋(píng)果APP從開(kāi)發(fā)到安裝到手機(jī)的過(guò)程
首先是代碼的編寫(xiě),等編寫(xiě)完成后分唾,需要進(jìn)行編譯揭璃、鏈接、簽名
然后形成一個(gè)app包
再經(jīng)過(guò)zip壓縮悔雹,修改一下后綴名就成為一個(gè)ipa包
有了ipa包后复哆,有兩種方式可以安裝到手機(jī)上,
- 直接上傳到App Store
- 通過(guò)pp助手腌零、iFunBox梯找、Xcode等工具安裝
代碼的編譯過(guò)程
1、編寫(xiě)了一段oc莱没、c初肉、swift等等代碼
2、編譯成匯編代碼饰躲,這一步不可逆牙咏,市面上的反編譯軟件,在這一步其實(shí)都是通過(guò)分析出結(jié)果嘹裂。
3妄壶、匯編編譯成機(jī)器語(yǔ)言,這一步可逆寄狼,完全是一一對(duì)應(yīng)丁寄。
App的啟動(dòng)過(guò)程
fork 新進(jìn)程氨淌;
為 Mach-O 分配內(nèi)存;
解析 Mach-O伊磺;
讀取 Mach-O 頭信息盛正;
遍歷 load command 信息,將 Mach-O 映射到內(nèi)存屑埋;
啟動(dòng) dyld豪筝。