文章目录
重签名步骤
步骤 1: 准备必要的材料
步骤 2: 解压 .ipa 文件
步骤3:将 Provisioning Profile 复制到 Payload 目录
步骤 4: 移除原来的签名
步骤 5: 使用新的证书和 Provisioning Profile 进行重签名
步骤 6: 重新打包 .ipa 文件
步骤 7: 安装和测试
得到provisioning file和embedded.mobileprovision文件的步骤
创建证书签名请求
创建证书签名
创建证书
选择证书类型
上传证书签名请求文件
下载证书
双击证书文件导入到本地mac电脑里
创建Provisioning Profile
注册
生成provisioning profile
选择证书
回顾&下载
生成重签名所需要文件
证书管理
查看本地的profiles
xcode构建签名设置中选择自动管理
查看本机provisioning profile
在手机中安装provisioning profile
查看本地签名证书
其他问题
升级xcode后需要重新安装开发者工具
问题 errSecInternalComponent
问题:Xcode unsupported iOS version after beta update 14.5 error 18e5140k
参考文档
Apple 官方文档
第三方教程和文章
重签名步骤
iOS 证书重签名主要是指使用一个新的开发者证书对已经打包的 iOS 应用(.ipa 文件)进行签名,以便可以在新的设备上安装。这个过程在 App 开发和测试中很常见,尤其是在使用 Ad Hoc 或企业证书进行内部分发的时候。
以下是 iOS 证书重签名的步骤和执行方法:
步骤 1: 准备必要的材料
有效的 iOS 开发者账号:你需要成为苹果开发者的一员,并且拥有相关证书(如:Development 或 Distribution)。
已经下载的开发者证书:这个可以在 Apple Developer Center 中下载获得。
Provisioning Profile:与证书相匹配的 Provisioning Profile,同样可以在 Apple Developer Center 中下载。
需要重签名的 .ipa 文件:这是已经打包好的 iOS 应用文件。
Mac 计算机:由于 iOS 应用的签名过程需要使用到 Xcode 或其他 macOS 上的命令行工具,因此需要一台 Mac 电脑来执行这些步骤。
步骤 2: 解压 .ipa 文件
将 .ipa 文件的后缀名改为 .zip 并解压它,或者直接在命令行中使用 unzip 命令解压:
unzip app.ipa
步骤3:将 Provisioning Profile 复制到 Payload 目录
找到你的 Provisioning Profile:将 Provisioning Profile (.mobileprovision) 文件放到一个你能轻松访问到的地方,如桌面或者特定的文件夹。
复制 Provisioning Profile 到 Payload 目录:你需要将 Provisioning Profile 复制到解压的 .ipa 文件夹内的 Payload/*.app 目录中,并确保其名字为 embedded.mobileprovision。可以使用 Finder 手动拖拽,或者使用命令行来完成:
cp /path/to/YourApp.mobileprovision Payload/*.app/embedded.mobileprovision
确保替换 /path/to/YourApp.mobileprovision 为你 Provisioning Profile 实际的路径。
步骤 4: 移除原来的签名
在解压得到的文件夹中,找到 Payload 目录,然后移除原有的签名信息:
rm -rf Payload/*.app/_CodeSignature
步骤 5: 使用新的证书和 Provisioning Profile 进行重签名
使用 codesign 命令进行重签名:
codesign -f -s '证书名称' --entitlements entitlements.plist Payload/*.app
其中 ‘证书名称’ 应该替换为你在钥匙串访问中证书的名字。你可以通过 security find-identity -v -p codesigning 命令来查找证书名称。
entitlements.plist 是包含了应用权限配置的文件,它也来自于原始的 .ipa 文件或者可以通过 Xcode 或其他工具生成。
步骤 6: 重新打包 .ipa 文件
将重新签名后的应用文件夹重新压缩成 .zip 文件,然后将文件后缀改回 .ipa:
zip -qr app-resigned.ipa P