本文介绍: 在日常的重签打包工作下,发现部分游戏包在重签名后存在一些问题(安装不上,某些权限功能不能用等),而用 Xcode 进行 Archive 操作后在 Xcode Organizer 中导出的包体不会出现异常。所以采用 Xcode 的 `xcodebuild` 命令的 `-exportArchive` 指令来进行重签名,发现重签名的成功率和包体稳定性提
一. 前言
对于 iOS 开发者来说,重签名技术应该说是比较熟悉的,而且重签名的实现脚本网上已经有很多,实现逻辑上基本也差不多,其中不乏像 iOS App Signer 这样优秀的重签名工具。
但是,由于不同的业务场景下,不同证书和不同包体的重签名目的都不一样,很难一个工具满足所有开发者的需求。目前团队的测试流程是对游戏包重签名后,再安装到测试设备上进行测试,在日常的重签打包工作下,发现部分游戏包在重签名后存在一些问题(安装不上,某些权限功能不能用等),而用 Xcode 进行 Archive 操作后在 Xcode Organizer 中导出的包体不会出现异常。所以采用 Xcode 的 xcodebuild
命令的 -exportArchive
指令来进行重签名,发现重签名的成功率和包体稳定性提高了很多。
二. iOS 签名机制
苹果通过以上的双重验证机制,来确保在开发阶段 App 的安装行为的合法性。当将 App 提交到 App Store 后,苹果会对 App 重新加密签名,安装时就只需验证苹果的签名。
三. 重签名脚本
1. 解压 ipa 并修改包内容
2. codesign 命令重签名
3. 读取 appex 的 Bundle ID
4. 修改 xcarchive 内容
5. 重签名并导出 ipa
四、总结
五、参考
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。