问题
由于 iOS 14 安全策略的更新,企业证书打出的 IPA 包无法在 iOS 14 上安装(iOS 14 以下无影响)。
如下图:
解决方案
在网上搜索的解决方案后得知,需要满足下面的条件:
1、服务器部署的 plist 文件必须为 https。
2、IPA 包的路径必须为 https。
3、 服务器的 TLS 版本必须大于等于 1.2。
很可惜的是,对于我们来说,上面的条件都符合,但就是安装不了。真是日了😑。
因为我们是通过 Jenkins + nexus + Amazon
来进行分发的。就开始一步一步的排查。
Jenkins: 通过 Mac 下载 Jenkins 打的包,隔空投送到 iPhone,可以正常安装,Jenkins 排除。
Amazon:通过 Xcode 手动打包上传到 Amazon,可以正常安装,Amazon 排除。
现在压力来到了 nexus 这边😏。通过一系列艰苦的排查,最后发现是因为我们的 nexus 自签名证书的问题。
我们的解决方案:
- 使用 MAC 下载 nexus 的证书。
- 使用隔空投送将证书传到手机。
- 在手机安装证书。
- 最重要的一步:通用 - 关于本机 - 证书信任设置 - 将该证书打开。
现在,就可以愉快的进行下载了。
Mac 下载证书
- 使用 Chrome 打开你需要下载证书的网站。
- 去钥匙串将相应的证书导出到桌面。
- 将证书隔空投送到 iPhone 安装。