iOS 企业重签名 无需替换包名

1、首先准备好待签名的ipa (此ipa 为非299$的开发账号签名后的ipa),企业版发布证书,embedded.mobileprovision配置文件,entitlements.plist 文件。证书配置与创建配置文件这里不做赘述。 entitlements.plist 文件格式为:





    application-identifier
    AAAAAA.com.test.test
    com.apple.developer.team-identifier
    AAAAAA
    get-task-allow
    
    keychain-access-groups
    
        AAAAAA.com.test.test
    


AAAAAA.com.test.test 可在开发账号中获取,如果嫌麻烦可以直接使用 iResign 工具直接签名后,解压签名后得ipa也可以得到该文件。

2、将embedded.mobileprovision配置文件,entitlements.plist,ipa 放到同一个文件夹下。方便操作。

a、解压ipa

$unzip Your.ipa 

b、删除原先的签名信息文件

$rm -rf Payload/Your.app/_CodeSignature/

c、删除动态库的签名信息文件(这一步在很多重签名文字很少提及,但是又非常重要,动态库没有重签名会导致ipa可以安装,但是打开会闪退。由于我使用了七牛播放器所以删除签名信息,以下以PLPlayerKit.framework为例,大家使用别的动态库请自行删除)

$rm -rf Payload/Your.app/Frameworks/PLPlayerKit.framework//_CodeSignature/

d、动态库重新签名 (如果没有其他动态库可以跳过,多个就逐个签吧)

$codesign -f -s "iPhone Distribution: *******" Payload/Your.app/Frameworks/PLPlayerKit.framework/

e、app重签名

$codesign -f -s "iPhone Distribution: *******." -- entitlements entitlements.plist Payload/Your.app

f、打包ipa

$zip -r Your.app Payload

3、如果包名改不改无所谓可以直接使用工具重签名,方便快捷。如果需要保持包名不变。可以按以上操作打包。

 



作者:痛风少年
链接:https://www.jianshu.com/p/ac4d62912a5a
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(XCode)