美文网首页
ipa重签名

ipa重签名

作者: 大浪捉鱼 | 来源:发表于2022-08-31 10:27 被阅读0次

    问题场景:外包公司开发并提供了ipa文件,证书签名用的是他们公司自己的(证书和描述文件都是,bundle id用的是我们指定的id),然后我们公司用自己的发布证书重新签名并提交appstore

    下面介绍一下相关的步骤和中间遇到的问题

    1、在自己的电脑上安装发布证书(这里不介绍,需要的请自行百度),安装后在钥匙串访问-登录-我的证书下面会看到这个证书,类似 iPhone Distribution:xxxxxxx(xxxxxx) ,选中后查看简介,设置信任为使用系统默认,注意不要设置为始终信任,若设置为始终信任,在使用重签名命令时会提示错误(后面会介绍这个错误)

    2、安装homebrew(已经安装的请略过这步),命令:
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    3、安装sigh,命令:
    sudo gem install sigh

    4、准备好需要重新签名的ipa(外包公司提供的那个ipa包)

    5、准备好描述文件embedd.mobileprovision,问题来了,去哪里弄到这embedd.mobileprovision文件呢?不能用外包公司提供的ipa里面的那个embedded.mobileprovison,而要用自己生成的。自己用Xcode新建一个工程,指定bundle id、发布证书,描述文件等信息,然后archive,查看生成的ipa包里面的那个embedd.mobileprovision,就是我们要的描述文件

    6、把需要重签名的ipa包和embbedd.mobileprovison放在同一个目录下面,然后cd这个目录,执行sigh resign,它会先显示Available identities:(你电脑上当前安装的开发证书、发布证书等证书信息,若为空,可能是你的证书安装有问题),然后要求你输入Signing Identity:你输入发布证书对应的那个16进制字符串,回车即可。当出现Successfully signed 路径/xxx.ipa!时,原来文件夹中的.ipa已经被重签名了。

    7、第6步可能会出现的问题,
    (1)Warning: unable to build chain to self-signed root for signer
    解决办法:将钥匙串访问-登录-我的证书下面的发布证书,从始终信任改为使用系统默认(若发现修改成使用系统默认后显示红色,请更新苹果根证书);也有一种说法,要将钥匙串访问-系统-证书下面的Apple Worldwide Developer Relations Certification Authority删除后重新安装新版本的(https://www.apple.com/certificateauthority/

    参考文章:
    ipa重签名最直接的教程

    相关文章

      网友评论

          本文标题:ipa重签名

          本文链接:https://www.haomeiwen.com/subject/bsrmrrtx.html