赞
踩
利用Xcode的命令 security
和 codesign
重签ipa文件。重签名与Xcode里用build打包时进行的签名操作是一个原理,具体来说,先了解一下iOS相关的证书类型。
证书类型:
证书类型 | 使用场景 |
---|---|
开发(Development)证书和描述文件 | 用于开发测试,在Xcode中打包后,可在真机环境调试、安装 |
发布(Distribution)证书和描述文件 | 用于提交Appstore,在Xcode中打包后,可使用Xcode、Application Loader提交到Appstore审核发布 |
证书作用:
证书 | 文件后缀 | 文件类型 | 作用 |
---|---|---|---|
Provisioning Profile | .mobileprovision | 描述文件 | Provisioning Profiles文件(配置文件), 作用是绑定设备UDID,所以在申请开发描述文件之前,先添加调试的设备。双击时打开Xcode安装在电脑上的描述文件,用命令行可以查看安装的描述文件,可以过滤掉过期的描述文件。 |
Signing Certificate | .cer/.p12 | 证书文件 | 有开发和发布的证书,可以在钥匙串查看安装的可用的证书,过期时间等。p12是一个加密的文件,只要知道其密码,就可以供给所有的 Mac 设备使用,是这个应用的唯一标识证书和开发者,用于对应 bundleID 的应用开发和打包测试。 |
注:
描述文件保存在 macOS 路径:~/Library/MobileDevice/Provisioning\ Profiles/
查看安装的证书使用命令:security find-identity -p codesigning -v
如果是团队开发,一般会生成p12证书提供给组员使用,这样更加好管理证书。
证书名字 | 用途 |
---|---|
adhocXXX.mobileprovision | 描述文件。用于生成 adhoc 包时,描述可以安装ipa包的设备UDID和证书关系。(包含推送、apple pay等权限声明内容) |
devXXX.mobileprovision | 描述文件。用于生成 dev 包时,描述可以安装ipa包的设备UDID和证书关系。(包含推送、apple pay等权限声明内容) |
devXXXPushXXX.p12 | 推送证书。用于 dev 包推送时,认证和关联 应用bundleID 的证书关系。 |
devXXX.p12 | 开发证书。用于打包App时,生成 dev 的 ipa 包需要的开发者信息。 |
disXXX.mobileprovision | 描述文件。用于生成 dis 包时,描述应用bundleID与证书的关系。(包含推送、apple pay等权限声明内容) |
disXXXPushXXX.p12 | 推送证书。用于 dis(或adhoc) 包推送时,认证和关联 应用bundleID 的证书关系。 |
disXXX.p12 | 发布证书。用于打包App时,生成 dis (或adhoc) 的 ipa 包需要的开发者信息。 |
注:
如果需要添加新的设备UDID,其实只需要更新 .mobileprovision 描述文件就可以;
如果证书超过了有效期,.p12 和 .mobileprovision 文件需要重新生成,如果 revoke 生成新的证书,旧的证书和证书对应的ipa包不能再安装在设备上。
关于证书类型说明:
用途 | dev | adhoc | dis | 企业证书 |
---|---|---|---|---|
能否用于送审 | 不能 | 能 | 能 | 不能 |
不越狱且不添加到证书的设备能否安装 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。