操作步骤
Step1 : 解压IPA
unzip MYAPP.ipa
Step2: 删除旧的代码签名
rm -rf Payload/ MYAPP.app/_CodeSignature
Step3: 更换证书
cp MyEnterprise.mobileprovision Payload/ MYAPP.app/embedded.mobileprovision
Step4: 重签名
/usr/bin/codesign -f -s "iPhone Distribution: YourCompanyName" --resource-rules Payload/ MYAPP.app/ResourceRules.plist Payload/ MYAPP.app
Step 5: 重新打包,生成新的ipa
zip -r New_ MYAPP.ipa Payload
说明:
MYAPP.ipa: 要重签名的ipa
MyEnterprise.mobileprovision:要用来签名的provision文件
YourCompanyName:指该签名对应的证书的名字,这个可以在钥匙串中找到
在step4时有可能会报错:object file format unrecognized, invalid, or unsuitable 解决方法:
1)首先查看/usr/bin目录下是否存在codesign_allocate程序,如果存在,执行改名操作。 如果不存在,直接执行第二步
sudo mv /usr/bin/codesign_allocate /usr/bin/codesign_allocate_old
2)将xcode目录下的codesign_allocate做一个软链接
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate /usr/bin
文章来源:http://alithink.com/2014/07/21/IPA%20企业证书重新签名/