1. 程式人生 > >b719426297的專欄

b719426297的專欄

IPA重簽名,網上的教程已經很多了,這裡就不詳細介紹了,下面是根據網上教程的一次實踐步驟。

IPA: 如果是AppStore下載的,需要砸殼後才能簽名成功;
另外,如果app中有PlugIn,WatchNative App, WatchNative App的PlugIn,xx.dylib, 這些也需要簽名。

前期準備:
ipa:Yalu103.ipa
bundleID:com.iosre.repackage

1、生成new_embedded.mobileprovision配置檔案。
可以去蘋果開發者中心(developer.apple.com)去生成;
如果在Xcode中已經配置好了,可以執行一次Project,在生成的xxx.app中拷貝出embedded.mobileprovision檔案;
這裡為了區分將新生成的embedded.mobileprovision重新命名為new_embedded.mobileprovision。

2、生成entitlements.plist檔案
根據new_embedded.mobileprovision生成簽名時使用的entitlements.plist檔案。
這裡寫圖片描述

3、刪除xxx.app/_CodeSignature、替換xxx.app/embedded.mobileprovision檔案、修改xxx.app/Info.plist的bundleid
這裡寫圖片描述

修改BundleIdentifier

4、簽名
這裡寫圖片描述
5、打包&安裝
這裡寫圖片描述

簽名的技巧<引自蒸米大神的冰與火之歌>:
簽名的時候我們需要提供entitlement的資訊,這個entitlement是什麼呢?其實這個entitlement是用來做iOS許可權管理的,通過宣告不同的entitlement就能得到不同的許可權。並且這個資訊已經儲存到了二進位制檔案裡。比如我們可以通過”ldid –e”來檢視一個二進位制檔案的entitlement。
理論上需要給app簽上原app對應的所有entitlement才行。

參考