iOS 包签名及重签名

iOS 包签名及重签名,第1张

签名相关的命令:

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

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

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

重签步骤:

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

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

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

4.替换描述文件

5.替换BundleID

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

实际 *** 作:

获取破壳的ipa包

获取第三方ipa包

查看ipa包是否已经破壳 》 非上架的都没加壳,无需关注

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

在终端使用命令otool -l DingTalk | grep crypt,0是已脱壳,大于0是喊雀未脱壳(一

般为1)

终端查看本地有效证书

$security find-identity -v -p codesigning

删除无法签名的插件文件

删除Plugins文件夹和Watch文件夹

对.app文件夹内的Frameworks文件夹中的每一个framework强制重签名

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

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

建议通过脚本命令执行:

将要签名的描悔散述文件该成 embedded.mobileprovision 替换 来的 embedded.mobileprovision

创建entitlements.plist文件

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

!]( https://upload-images.jianshu.io/upload_images/1502585-e1694c8e1e77a197.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )

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

对xx.app开始签名

使用的命令: zip –ry 输出文件 输入文件 命令。也可以手动压缩。

将上述 *** 作 通过shell命令 写个脚本文件。然后一键 *** 作。

shell脚本语言命令

地址: https://github.com/InjoyDeng/ResignTool

蒲公英平台重签名

本文章主要介绍iOS 版本发布的两个相关功能。

一 : iOS 开发出的版本发布安装 用两种方式 :

软件环境

Mac: v10.12.6 (16G29)

ruby: v2.3.4

rvm: v1.29.3

sigh: v2.71.1

Xcode: v9.2

使用sigh脚本

使用之前先安装一下脚本环境

应用场景:

主要解决因重复打包导致测试同学回归测试的包和上传App Store的包不一致的问题。以及 合作方之间 证书不一致,需要重新签名问题。

App开发测试流程

对回归测试通过的ipa包进行重新签名,然后上传 App Store

输入的 Signing Identity 如果和 .mobileprovision文件 不一致,那么终端上仍会提示resign成功,但是,安装时会报错!

codesign -vv -d xxx.app

本文主要讲述sigh命令的安装和使用。

首先确保你安装了Xcode的命令行工具。

然后通过gem安装sigh,gem的安装请自行谷歌。

在终端执行

依次执行下列步骤:

关于更多sigh用法请访问 sigh使用

签名成功的应用就可以顺利在我们的设备中安装了并使用了,用这个方法可以进行非越狱平台安装在正版基础移植的越狱应用。

工具: https://github.com/InjoyDeng/ResignTool

借鉴: https://www.jianshu.com/p/d68924e1af25

https://www.jianshu.com/p/d68924e1af25

https://www.cnblogs.com/guohai-stronger/p/11781249.html

iOS APP签名机制详解

1.首先升级后的ipa标识,证书ID+BundleID,只有两者完全洞凳祥匹配,安装包才能覆盖安装

2.打开ipa包,会发现_CodeSignature和embedded.mobileprovision两个文件

3.解压ipa安装包

4.替换证书配置文件(文件名必须为embedded,不得自定义)

5.重签名(certifierName为重粗禅签名证书文件名,可以加证书ID后缀)

6.打包

ps:在重签纳搏名时会忽略第二步或者没有指定entitlements.plist,都会造成ipa包安装失败。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12337394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存