腳本,替換ipa里面的資源,並重新打包


今天逯同事說,可以把狂掛傳奇打包的項目寫成一個腳本,這樣就不用擔心證書有時不能用的問題了。

然后,像我這么好學的學生,當然要去執行了。(其實,以前他給的建議我都只是聽聽而已,這次是因為想學點東西了,所以冷靜了一把。然后一下午都在鼓搗這個東西)

當這件事情完成后,再回頭看,發現代碼非常簡單,實現的功能也很小,但是對於新手來說,收獲還是很多的。

主要的功能實現步驟如下:

1.更新plist里面的內容;

2.將新的plist轉移至包的payload文件中(也就是ipa包解壓完的東東:將ipa文件的后綴改為zip,然后解壓,會有一個Payload文件);

3.將這個Payload文件壓縮(這個地方比較重要,遇到兩個難點);

4.將Payload.zip進行ipa重命名,命名為自己想要的。

 

對於我這個新手來說,所有的Linux語言都是陌生的,從來沒有用過,例如解壓、壓縮、移動、重命名(包括后綴),都不知道。現在就先羅列一下這些簡單的小命令,

幫助新手理解並加強記憶。

1.解壓:

unzip -d (要解壓到的地址) (原壓縮文件.zip的地址)
比如:unzip -d /Desktop/TESTA /Desktop/testB.zip  
四個字符之間用空格隔開。后兩個直接拖拽即可。一般(要解壓到的地址)設置為一個空文件夾,(原壓縮文件.zip的地址)是原zip文件,直接拖拽。

 

這樣,zip里面的東西,就會解壓到空文件夾里面了。當一個ipa包不能安裝或者出現亂碼時,用這種方式解壓,可以看清里面到底是哪個地方變成了亂碼。

2.壓縮:

zip -qr (要壓縮的壓縮包的名字及形式) (原要壓縮的文件)
比如:zip -qr /Desktop/Payload.zip Payload/  

3.移動

mv (要移動的文件) (要移動的位置)
mv KY_Channel.plist Payload/TestOfDuDai.app/  

 

4.重命名

 
mv (被重命名的文件) (最終命名的結果) 
比如:mv Payload.zip Payload.ipa  這個是更改了文件的后綴  

 

這個小腳本用到的小知識點就用到了這些,以后有需要還會在羅列。

 

不過,雖然這個腳本比較小,但是,在制作的過程中,還是遇到了很多的難題,比如,

1.問題:路徑冗余

問題現象:壓縮完的文件夾解壓后不是直接Payload文件夾,而是嵌套了很多父文件夾,如電腦名稱、Desktop等,這樣,在重新簽名和安裝時,是失敗的。

解決辦法:將當前目錄放置在一起。運維慶敏的做法是,在一開始,就放置在桌面上,下面所有的操作都是在桌面上進行的。

進入桌面的方法是:

 cd /Users/KuaiYong/Desktop/  


這樣,在解壓或者壓縮時,就不會被嵌套很多層了。

 

2.問題:臉皮

問題現象:遇到不會的,不敢去問別人。許多問題出現時,思前想后的才去問別人。

解決辦法:自己搜不到或者解決不出來,就立馬去問別人,不浪費時間

 

總的來說,今天下午過的比較充實,豐富了自己的經驗,開啟了一片新的天地,對自己的努力比較滿意。也許是因為堅持跑步的原因,希望自己能夠堅持下去。加油!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM