Last active
July 6, 2021 06:14
-
-
Save gwsu2008/5b7a49964536c810b52b12a2b7aaa15b to your computer and use it in GitHub Desktop.
Resign IPA with new provisioning profile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rename ipa to zip and unzip it | |
rm -f embedded.mobileprovision and _CodeSign folder | |
cp ~/Library/MobileDevice/Profiles/DiscoverEntProdJul2019.mobileprovision Payload/App.app/embedded.mobileprovision | |
cd Payload | |
codesign -d --entitlements - *.app > entitlements.plist | |
cat entitlements.plist | |
cd .. | |
mv Payload/entitlements.plist . | |
codesign -f -s "iPhone Distribution: Company Cert" --entitlements entitlements.plist Payload/App.app | |
KEYCHAIN_PASSWD='xyz' | |
KEYCHAIN=$(ls $HOME/Library/Keychains/login.keychain-db 2>/dev/null) | |
/usr/bin/security list-keychains -s $KEYCHAIN | |
/usr/bin/security unlock-keychain -p "$KEYCHAIN_PASSWD" $KEYCHAIN | |
/usr/bin/security show-keychain-info $KEYCHAIN | |
/usr/bin/security find-identity -p codesigning -v | |
codesign -f -s "iPhone Distribution: Company Cert" --entitlements entitlements.plist Payload/App.app | |
zip -qr resigned.ipa Payload | |
unzip -p myapp.ipa \*/embedded.mobileprovision | grep -a -A 2 ExpirationDate | grep date | sed -e 's/^.*<date>\(.*\)<\/date>/\1/' | |
==================== | |
Steps | |
Assumptions: | |
.ipa filename is app.ipa | |
app is called MyApp | |
new provisioning profile resides at: ~/Downloads/AdHoc.mobileprovision | |
distribution certificate name is Company Certificate | |
may not need resource-rules parameter | |
provisioning profile is either for Adhoc, or Enterprise distribution | |
Commands: | |
unzip app.ipa | |
rm -rf Payload/MyApp.app/_CodeSignature/ | |
cp ~/Downloads/AdHoc.mobileprovision Payload/MyApp.app/embedded.mobileprovision | |
codesign -f -s "iPhone Distribution: Company Certificate" --resource-rules Payload/MyApp.app/ResourceRules.plist Payload/MyApp.app | |
zip -qr app-resigned.ipa Payload/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment