文章目录
重签名步骤
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<