mac用终端对ipa包重新签名

一年前写过一个用命令行对安卓的apk包重新签名的文章《mac用终端对apk包重新签名》,今天就再说下用命令行对苹果的ipa包重新签名的方法,重签名的好处就是可以用自己的证书和配置文件来打包,这样就可以再配置证书中加上自己的手机从而免越狱安装。

网上是让用IResin这个软件,但是我用了总是重签名失败,报错

warning:--resource-rules has been deprecated in Mac OSX>=10.10!

意思是这个已经在mac10.10之后的版本上面已经不行了。今天看到了一个用mac终端重新签名的方法,总结下备忘

一、安装Homebrew

Homebrew 是一个mac上面的套件管理器,使 macOS 更完美。使用 gem 来安装 gems、用 brew 来搞定那些依赖包。官网地址再后面的参考文章里面。

在终端执行下面命令行安装

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

二、安装ruby

在终端执行下面命令安装

brew install ruby

执行这个文章的第一项和第二项《cocoapods安装中间注意的事项》来更新ruby的源

三、安装sigh脚本

执行下面安装命令

sudo gem install sigh

如果出现下面这个报错

ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/rougify

那么就需要把上面那个安装命令修改为

sudo gem install -n /usr/local/bin  sigh

这个和系统版本有关系。

sigh脚本是别人写的,在github上面有,链接地址在下面的参考文章里面

四、使用sigh脚本开始重新签名

1、在终端输入sigh resign,回车

2、把要签名的ipa文件拖到窗口上,回车

3、填写用来签名的证书,回车

4、把项目的配置文件.mobileprovision文件拖到窗口上,回车

5、好了,resign脚本会自动更改bundel id,签名并重新打包。

完成之后就类似于这样,里面会有Successfully signed提示,后面就是生成的新包的路径

屏幕快照 2016-09-22 下午2.42.04.png

如果出错,就看下面这个注意事项

五、注意事项

1、要签名的ipa文件注意路径和包名不要有中文

2、签名的证书就是填写那个证书的名字,在钥匙串里面查看,就是这个完整的常用名字

屏幕快照 2016-09-22 下午2.42.55.png

3、ipa和配置文件都是填的路径,只有证书是填写的名字,并且这个证书要先安装到钥匙串工具,因为签名会用到。

4、多targets的ipa无法用上述方法签名

六、参考文章

](http://stackoverflow.com/questions/30812777/cannot-install-cocoa-pods-after-uninstalling-results-in-error/30851030#30851030)

Last modification:December 1st, 2017 at 09:58 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment