当前位置:   article > 正文

ios重签名shell脚本_IOS应用重签名(三种方法)

ios重签名shell脚本_IOS应用重签名(三种方法)

终端命令(相关的一些指令)

•$security find-identity -v -p codesigning列出钥匙串里可签名的证书

•$Codesign–fs“证书串”文件名  强制替换签名

•$Chmod+x可执行文件  给文件添加权限

•$security cms -D -i ../embedded.mobileprovision 查看描述文件

•$codesign -fs “证书串” --no-strict --entitlements=权限文件.plistAPP包

•$Zip –ry输出文件 输入文件 将输入文件压缩为输出文件

用户权限

重签步骤

1.删除插件和带有插件的.app包(比如Watch)

2.对Frameworks里面的库进行重签名

3.给可执行文件 +x(可执行)权限

4.添加描述文件(新建工程,真机编译得到)

5.替换BundleID

6.通过授权文件(Entilements)重签.app包

实操一波

一、手动签名

1、准备

1.1、获取一个破壳的 ipa 包。

可以通过PP助手下载越狱应用

1.2、查看ipa包是否已经脱壳

1.2.1、解压ipa包,进入playload文件夹,找到MachO文件

1.2.2、在终端使用命令otool -l DingTalk | grep crypt,0是已脱壳,大于0是未脱壳(一般为1)

1.3、Apple Developer 开发者证书

1.3.1、通过本地 CSR 从Apple Developer 网站申请开发者证书,安装到钥匙串。

1.3.2、终端查看本地有效证书

命令:$security find-identity -v -p codesigning

2、删除插件

删除Plugins文件夹和Watch文件夹

3、对所有.framework重新签名

3.1、使用的命令

$ codesign -fs "iPhone Developer: xxx " xxx.framework

3.2、找到framework文件夹下所有.framework,分别使用上面的命令对其签名。

4、描述文件(Provisioning Profile)

描述文件包含了证书信息,App ID,具备调试、测试权限的设备,以及应用的一些功能信息等等,后缀名mobileprovision。

4.1、使用XCode新建一个项目,选择需要使用证书。

4.2、生成描述文件

然后build项目,在生成的.app中点击show in finder,接着显示包内容,找到生成的描述文件,放到ipa包->playload->xx.app包里面(MachO文件同级)

4.3、创建entitlements.plist文件

查看描述文件内容,使用命令security cms -D -I embedded.mobileprovision,找到Entitlements节点,接着创建entitlements.plist文件,内容拷贝过去,最后把entitlements.plist文件拷贝到playload文件夹内(与xx.app同级)。

5、修改xx.app包里面的info.plist中的bundleId为上面项目的bundleId

6、对xx.app开始签名

6.1、使用的命令

$ codesign -fs "iPhone Developer: xx" --no-strict --entitlements=entitlements.plist xx.app

7、生成ipa包

7.1、使用的命令

$zip –ry 输出文件 输入文件

7.2、使用xcode或者助手安装

如果闪退,删除应用,先运行一遍上面创建的项目,然后在手机设置 通用 信任一下描述文件,再安装生成的ipa包。如果还闪退,请尝试下面使用xcode重签名方法。

二、使用xcode重签名

1、重复上述1、2、3步骤,并修改info.plist

修改info.plist中的BundleId为下面新建项目的BundleId,拷贝经过上述步骤xx.app备用

2、使用xcode创建同名项目

3、编译项目及替换xx.app

使用步骤1中拷贝出来的xx.app替换上图中的xx.app

4、运行项目,重签名成功。

5、生成ipa包

成功运行项目到手机上后,一定要成功运行后,再次show in finder找到xx.app,拷贝xx.app。创建一个Payload文件夹,把xx.app放进去。

5.1、使用的命令

$zip –ry 输出文件 输入文件(Payload)

5.2、使用xcode或者助手安装

三、使用脚本+xcode实现自动化重签名

1、编写脚本sh

2、配置xcode运行脚本

3、放置目标ipa

把脚本放到项目同级目录下,以及创建targetApp文件夹。最后把需要重签名的IPA放到targetApp文件夹中。

4、编译运行

至此已完成重签名,

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/332145
推荐阅读
相关标签