plist分发安装失败原因分析

在团队内部搭了个基于Nginx的plist分发服务,根据上传的ipa自动生成对应的plist,从而让团队内的设备能方便地安装ios内测应用。
环境搭建这里不表,主要讨论下安装失败的情景和原因调查。

无法连接到xxx

  1. items-service指向的plist获取地址不对
  2. HTTPS证书不被浏览器信任,CA证书一般没有问题。自签发证书的话,需要在设备上先下载证书,并在设置中信任证书
  3. plist指向的ipa下载地址不存在,或者ipa的bundleId与plist中的不一致

无法下载App-此时无法下载

无法下载的原因有很多种,但最常见的原因有以下3个:

  1. 签名失效:证书失效和配置文件失效均会导致无法下载应用。如证书失效,需更换有效证书重新打包上传;如证书有效,则重新导出配置文件打包上传。
  2. 内测版App未添加UDID:以 Ad-Hoc 方式打包的应用,必须将设备的 UDID 添加入打包应用时的证书文件(.mobileprovision文件),才可以在该设备上正常安装。
  3. 打包方式错误:在导出 iOS 的 .ipa 文件时,有些开发者选择了 App-Store 方式,这种方式导出的 .ipa 文件,只适合于上传到苹果 App Store,并不能通过蒲公英来安装。如果是这种方式导出的 .ipa文件,传到蒲公英上时,蒲公英会显示“App-Store版”,这种版本是不能通过蒲公英安装的。

这种问题的原因很难分析,进入了下载过程,说明浏览器已经根据plist获取到了ipa的下载路径。那应该是ios在安装ipa时需要验证,然后因为一些原因拒绝了安装。
这时候就需要根据ios设备上的日志进行分析,这里可以根据蒲公英提供的工具来查看安装过程的日志:
https://www.pgyer.com/doc/view/ios_install_log
下载安装好蒲公英 Mac OS 客户端后,双击运行打开,然后点击 “查看”-“查看设备日志”(或者按快捷键 Command+L),即可打开安装日志查看窗口。如图所示:

plist分发安装失败原因分析_第1张图片
image.png

在 iOS 系统中,安装 App 是由一个叫 itunesstored 的进程完成的,所以,开发者如果只想查看 App 安装失败的信息的话,可以使用右上角的过滤功能,只显示 itunesstored 的日志,从中即可查看到安装失败的原因

通常主要原因为Failed to verify code signature,即该设备的uuid并不在该app开发者证书的信任列表中。

icon图片导致无法安装
因服务器问题,后面重新配过一次环境,然后出现了之前能安装的设备也出现了下载一半无法安装的问题,通过日志也没有发现明显的错误。
最后,通过排查,发现plist指向的icon.pngicon-large.png在重配环境时忘记放上去了,网上有提到ios8后,display-image' and 'full-size-image'必须配置...
放好图片后,下载依然失败,卸载重启设备后,安装成功...
应该是跟图片缓存有关吧..IOS应该对同样的app的icon进行了缓存处理。

更多原因参考:https://www.pgyer.com/doc/view/ios_install_failed

你可能感兴趣的:(plist分发安装失败原因分析)