一年前写过一个用命令行对安卓的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提示,后面就是生成的新包的路径
如果出错,就看下面这个注意事项
五、注意事项
1、要签名的ipa文件注意路径和包名不要有中文
2、签名的证书就是填写那个证书的名字,在钥匙串里面查看,就是这个完整的常用名字
3、ipa和配置文件都是填的路径,只有证书是填写的名字,并且这个证书要先安装到钥匙串工具,因为签名会用到。
4、多targets的ipa无法用上述方法签名
六、参考文章
- Homebrew官网
- [Sigh脚本github地址
](https://github.com/fastlane/fastlane/tree/master/sigh#resign)最简单的重签名应用的方法 - iOS的ipa重签名
- [Cannot install cocoa pods after uninstalling, results in error
](http://stackoverflow.com/questions/30812777/cannot-install-cocoa-pods-after-uninstalling-results-in-error/30851030#30851030)
版权属于:东哥笔记 - DongGe.org
本文链接:https://dongge.org/blog/363.html
自2017年12月26日起,『转载以及大段采集进行后续编辑』须注明本文标题和链接!否则禁止所有转载和采集行为!
4 条评论