iOS ad hoc分发应用仅开发设备可运行 新设备提示身份无法验证求助
Ad Hoc 部署iOS应用「identity cannot be verified」问题解决方案
排查步骤
- 确认Provisioning Profile的包含范围
生成Ad Hoc包使用的Provisioning Profile必须包含所有测试设备的UUID,如果是新增UUID后才生成的Profile,需要确认Xcode打包时调用的是最新下载的Profile,而非本地缓存的旧版本。可在Xcode的设置 > 账户 > 你的开发团队 > 下载手动配置文件路径下,删除本地旧Profile后重新打包。 - 检查签名证书的合规性
iOS 13及以上版本对签名证书的校验规则远严格于iOS 12:- 必须使用苹果开发者平台生成的有效分发证书,不可使用自签名证书
- 证书有效期必须小于398天,超出该时长的证书会被iOS 13+直接拒绝信任
- 确认Manifest.plist配置符合要求
iOS 14对manifest文件的校验更严格,必须满足以下规则:- manifest文件必须通过HTTPS协议分发,服务器SSL证书必须是iOS系统信任的正规机构签发,不可使用自签名SSL证书
- manifest内的ipa下载地址、
display-image、full-size-image地址全部需要为HTTPS协议,不可使用HTTP - manifest文件内的bundle ID、版本号必须和打包ipa内的配置完全一致
- 确认设备侧信任配置完成
安装完成后首次启动前,需要在测试设备的设置 > 通用 > VPN与设备管理路径下,找到对应开发者的证书,手动点击「信任」后再启动应用。iOS 14不会主动弹出信任提示,该操作必须手动完成。 - 确认打包导出选项正确
Xcode导出Ad Hoc包时,要确保勾选*「包含 manifest for over-the-air installation」*,导出时填写的应用名称、bundle ID、下载地址等信息要和实际部署的信息完全匹配,不要手动修改导出后的manifest文件内容,避免校验不通过。
快速验证方法
可先将出现问题的iPhone 7用数据线连接到Xcode,直接把Archive包安装到设备上:如果能正常运行,说明问题出在分发链路(manifest配置、服务器SSL、下载地址);如果直接安装也报错,说明问题出在打包使用的Profile或者证书配置上。
内容的提问来源于stack exchange,提问作者Radu Craciun
相关产品推荐
相关产品推荐

