iOS-重签名

准备工作:

//下面用到了两个文件,需要用到,没装就装一下:
//为了在我们的 app 启动的时候加载一个附加的库,我们需要插入一条额外的加载命令到主程序的 Mach-O 头中。这里我们使用optool 工具来自动化这个过程:
git clone https://github.com/alexzielenski/optool.git cd optool/
$ git submodule update --init --recursive

//我们也将使用到 ios-deploy 这个工具,这个 工具能够在不使用 Xcode 的情况下发布或者调试 iOS 。(npm 是 Nodejs 的包管理器,如果你还没有安装 Nodejs,你可以使用 homebrew 来安装,或者到官网直接下载安装包)
brew install Nodejs npm install -g ios-deploy

//查看当前证书
security find-identity -p codesigning -v

开始重签名:

//简易拿证书方法
Products -> xxxDemo.app -> 显示包 -> xxx.mobileprovision

将证书拿出来放在一个文件夹里,然后cd这个文件夹
security cms -D -i xxx.mobileprovision > profile.plist //生成plist文件
/usr/libexec/PlistBuddy -x -c 'Print :Entitlements' profile.plist > xxx.plist //生成.plist文件
再将application-identifier和keychain-access-groups这两个属性的后缀名改成项目中的info.plist中的Bundle identifier 例如:ABC123ABC.xx.xxxxxx

再将app包里的_CodeSignature文件夹删除,并将未砸壳并不用的包删掉
再将可执行文件允许执行 chmod 777 可执行文件地址

cd到之前证书放的那个文件夹
/usr/bin/codesign --force --sign xxx...xxx --entitlements entitlements.plist xxx (xxx...xxx 是你证书的序列号(查看当前证书可得)) (xxx 是允许执行的可执行文件)

最后将app包部署好 ios-deploy --bundle app包

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.理解iOS签名机制 网上有很多资料,这里不展开细说,重点参考这三篇文章: https://www.objccn...
    huig游影阅读 1,252评论 0 0
  • 前言 由于最近做面向企业的SDK,经常会跟其它企业合作,公司同步需要测试他们的ipa包来验收功能,而好多公司并没有...
    he15his阅读 9,197评论 8 24
  • 一.理解iOS签名机制 网上有很多资料,这里不展开细说,重点参考这三篇文章: https://www.objccn...
    huig游影阅读 1,070评论 0 1
  • 哪些场景需要我们自己动手去做重签名呢?举个例子,由于业务的需要,在不发布 AppStore 的情况,需要将自己的 ...
    堕落天使Z阅读 2,588评论 2 7
  • 头疼,感冒的前兆! 房子,学位,职场,二宝,都令人头疼!一件件来,总有解决的办法。
    悠然512阅读 188评论 0 0