網上關于簽名的腳本有很多,我找了個本人覺得比較好用的腳步iOS_resign_scripts,下載腳步里面有三個腳本文件,這里我只用了 ios_resign_from_app_to_ipa
這個腳步就可以達到我的目的了。
一、基礎環境準備
1.準備需要重簽名的IPA包
打開itunes 下載一個最新版本的微信ipa包,然后拷貝出來備用
看圖1:
2. 準備 mobileprovision文件
mobileprovision
文件干嘛的,怎么創建這里就不詳細說明了,搞iOS開發的都懂?? 這里將mobileprovision文件重命名 embedded.mobileprovision
看圖2:
3.準備 Developer_code_sign
找到步驟2中mobileprovision文件對應的證書,格式類似 iPhone Distribution: xxxx. (xxxxx) 搞iOS開發的都懂??,不懂是不是應該去找原因了??
看圖3:
4.已經脫殼的二進制decrypted文件
ipa脫殼也稱砸殼,如何脫殼看這里不再解釋了,微信砸殼會得到一個WeChat.decrypted文件, 重命名為WeChat,打開終端,輸入 chmod 777 ,然后把 WeChat拖到終端上按回車 修改下權限。
看圖4:
二、開始操刀修改文件,重簽名
搞iOS開發的都知道,在iOS系統上是通過 Bundle identifier 標識 APP 的唯一性的,那么要想在一個手機上裝兩個微信呢改下Bundle identifier 就可以實現了。
1.解壓ipa
打開終端,cd 進入 圖4所在目錄,然后 運行命令:
unzip WeChat_6.5.2.ipa -d WeChat_6.5.2_unzip
圖5:
圖6:
圖7:
2.替換砸殼了的WeChat二進制文件
圖8:
圖9:
3.修改 Bundle identifier
找到 包內容的info.plist 文件,修改 Bundle identifier
圖10:
Xcode 打開編輯修改 Bundle identifier 的內容
圖11:
4.刪除微信包里面的擴展插件(PS 目前沒找到好的辦法簽名他們,所以暴力刪除它們)
圖12:
5.運行腳本,開始簽名了,打開終端,cd 進入 圖4所在目錄,運行
sh ios_resign_from_app_to_ipa WeChat_6.5.2_unzip "iPhone Distribution: xxxx xx., xx. (xxx)" embedded.mobileprovision WeChat_6.5.2-resig.ipa
圖13:
簽名成功:
圖14:
圖15:
6.雙擊itunes 打開安裝,測試打開不閃退。
圖16.