思路
- entitlements.plist bundle相关信息换成企业账号内的新bundle
- info plist不动
- 删除老的签名
- 更换 embedded.mobileprovision 为新的企业账号生成的mobileprovision
- 生成新的签名
解决步骤
- 解压ipa包
unzip *.ipa
- 删除签名
rm -rf Payload/*.app/_CodeSignature
- 删除替换mobileprovision文件(企业账号独立的bundle id 生成)
cp embedded.mobileprovision Payload/*.app/
-
打开老的entitlements.plist 老的bundle信息更换为企业账号生成的信息
对更改后的包生成新的签名
codesign -f -s "iPhone Distribution: XXX Co., Ltd." --entitlements entitlements.plist Payload/*.app/
- 压缩成为新的ipa包
zip -r newName.ipa Payload
参考链接:
https://blog.csdn.net/caojengineer/article/details/46985265
https://blog.csdn.net/bz151531223/article/details/78284564
http://www.olinone.com/?p=198
6-25补充
导出appstore包更换签名的注意事项
2、重新签名打包的时候这几个文件必须删除,只留下单纯的ipa包
3、如果出现无法下载安装的情况,重新打包几次,直到下载安装成功为止
4、target - build settings - enable bitcode 设置为NO
完