iOS 的内测应用在安装时,很多人都遇到过安装失败的情况,安装失败的原因比较多,下面我们将一些常见原因总结如下,方便开发者进行排查。

启动应用时,出现提示“未受信任的企业级开发者”

请回到 iOS 系统桌面,然后依次打开 设置 - 通用 - 描述文件与设备管理,然后,点击对应描述文件进入后,再点击按钮 信任即可。具体解决办法请见: 运行企业版应用

应用安装快结束后,图标变为暗色图标,或弹出”无法安装XXX“的提示

如果您是该应用的开发者,请检查应用的签名是否正确,这个问题出现的原因一般是由于应用的签名不正确导致的。一般来说,对于 Adhoc 签名方式重点检查当前设备 UDID 是否已经注册;对于 In-house 签名(即企业签名) 方式来说,需要重点检查证书是否被撤销。如果您不是这个应用的开发者,请联系开发者解决。

在网页中点击“安装”按钮后,没有弹出“是否安装”的提示,或者提示安装失败

这个问题出现的原因,一般是由于用户已经从苹果官方 App Store 上安装了相同的应用。解决办法是:先在您的设备中删除之前已经安装的应用,然后再从蒲公英安装即可。

安装应用时,出现提示“无法连接到 www.pgyer.com”

这个问题一般是由于用户的网络,或者手机缓存错误造成的,可以尝试如下两个方法来解决:

重启手机,然后尝试重新安装。

换一个网络环境,例如换一个 Wi-Fi 热点,或由 Wi-Fi 换成 3G/4G 等,然后重新安装。

其他一些可能导致应用无法安装的原因:

原因一:开发者在打包App时,导出 iOS App 的安装包文件(.ipa文件)时,选择了 App-Store 方式。

在导出 iOS 的 .ipa 文件时,有些开发者选择了 App-Store 方式,这种方式导出的 .ipa 文件,只适合于上传到苹果 App Store,并不能通过蒲公英来安装。如果是这种方式导出的 .ipa文件,传到蒲公英上时,蒲公英会显示“App-Store版”,这种版本是不能通过蒲公英安装的。

原因二:在导出 iOS App 的安装包文件(.ipa文件)时,选择了 Ad-hoc 方式,但是没有添加设备 UDID。

在导出 iOS 的安装包文件时,如果选择了 Ad-hoc 方式(一般用于苹果个人开发者账户),那么,如果要某台设备可以安装,则必须要将这台设备的 UDID 添加到导出安装包时所用的证书文件中(. mobileprovision文件),才可以在这台设备上安装。

使用 Ad-hoc 方式导出的安装包文件上传到蒲公英后,蒲公英会显示为“内测版”,同时会在应用管理中,显示出该安装包的证书中包含的 UDID 列表。开发者可以根据显示出的 UDID 列表,来排查某台设备的 UDID 有没有被添加到安装包的证书中。

原因三:在导出 iOS App 的安装包文件(.ipa文件)时,选择了 In-house 方式,但是证书已过期或被撤销。

在导出 iOS 的安装包文件时,如果选择了 In-house 方式(一般用于苹果企业开发者账户),此时,如果出现无法安装的情况,开发者可以检查一下自己的企业开发者证书是否已过期或是否被撤销。因为苹果对于企业开发者证书管理较为严格,所以开发者如果使用不当,可能会导致企业证书被苹果官方撤销,被撤销后的企业证书导出的安装包,也是无法正确安装的。

原因四:开发者在生成App安装包时,没有在 Xcode 中设置正确的 Architecture。

iOS 应用的 Architecture(架构),决定了这款 iOS 应用可以在哪些设备机型上安装。例如,如果某个应用在 Xcode 中只添加了 arm64 这一种 Architecture,那么最终打包后的安装包文件上传到蒲公英后,对于 iPad mini、iPhone5 等以下设备,都是无法安装的(因为这些设备都不是 arm64 架构)。换句话说,如果需要在某个设备上可以安装,App 就必须支持那个设备的 Architecture。

所以,正确的解决方法是,在生成 App 安装包时,尽可能让 App 支持更多的 Architecture。

具体操作方法是:在 Xcode - Build Settings - Architecture 中,增加 armv7、armv7s、arm64,以便所有设备都可以安装。然后,将 "Build active architecture only" 设置为 NO。对于各个 iOS 设备支持的 Architecture 类型。请点击这里查看。

原因五:App 支持的 iOS 系统版本,和当前设备系统版本不符。

App 支持的 iOS 系统版本过低或者过高,都可能导致 App 无法安装成功。例如,如果某个 App 设置了只支持 iOS 11.0 以上的系统时,那么,如果在低于这个版本的系统上安装时,是无法安装成功的。

因此,解决的方法也很简单,我们应该尽量让 App 尽可能支持更宽泛的系统版本。

具体操作方式是:在 Xcode - General - Deployment Info - Deployment Target 中,给 App 设置一个尽量低的版本,例如 iOS 6.0。

原因六:设备上已经安装了这个App,且已经安装的 App 和要安装的 App 是用不同证书打包的。

这种情况下,也会造成 App 安装失败。解决的方式很简单,用户只需将设备上原来已经安装的 App 删除,再重新安装新的 App 即可。

原因七:Info.plist 文件中的LSRequiresIPhoneOS 没有设置,或者设置了 NO。

对于 iOS 的 App 来说,如果Info.plist 文件中的LSRequiresIPhoneOS 没有设置,或者设置了 NO,那么由 Xcode 导出的安装包(.ipa 包),就不会包含 Payload 文件夹,而是被一个叫做 Applications 的文件夹代替。这样的安装包在安装时,会被 iOS 判定为无效的安装包,所以无法被正确安装。

解决方式也很简单,只需要将Info.plist 文件中的LSRequiresIPhoneOS 设置为 YES,然后重新打包即可。具体操作为:在 Xcode 中打开 Info.plist 文件,然后检查 LSRequiresIPhoneOS 是否已设置,如果没有设置,就添加一个,然后将 LSRequiresIPhoneOS 的类型设置为 Boolean,值设置为 YES。

设置好以后,可以看到 Info.plist 文件中显示 Application requires iPhone environment 的值为 YES。

另外,还可以使用蒲公英的 Mac OS 客户端 来打包上传 App,蒲公英的 Mac OS 客户端在打包安装包时,自动处理了这个问题。

原因八:网络出现中断或异常。

遇到这种情况,用户可检查自己手机的所连接的网络是否稳定、速度是否正常等。能否打开其他网站,或者更换一个 Wi-Fi,或者由 Wi-Fi 换成 3G/4G 等,然后重新安装。

用这样的方式尝试后,一般都可以解决问题。

尝试过以上方案,还是无法解决?

如果根据以上的方式进行排查后,依然无法解决问题,那么可以使用蒲公英的 Mac OS 客户端来查看安装日志。

蒲公英的 Mac OS 客户端中,提供了实时查看 App 安装日志的功能,开发者可以方便的根据 App 的安装日志,来准确的判断具体安装失败的原因,具体方法请见:查看iOS的安装日志

android无法安装ios应用程序,蒲公英 - 文档中心 - iOS 应用安装失败原因排查相关推荐

  1. 蒲公英服务器搭建小程序,蒲公英 - 文档中心 - 应用上传

    上传应用的三种方式 开发者可以通过三种方式来上传应用: 通过蒲公英的网站上传应用 通过蒲公英桌面客户端上传应用 通过蒲公英开放 API 上传应用 通过蒲公英的网站上传应用 在蒲公英网站(www.pgy ...

  2. 蒲公英java后台上传_蒲公英 - 文档中心 - 使用 Jenkins 实现持续集成 (Android)

    环境 无论是什么系统,配置 Jenkins 的配置是一样的 安装 Jenkins 下载最新的版本(一个 WAR 文件).官网下载地址 运行 java -jar jenkins.war 注意:Jenki ...

  3. 蒲公英 linux安装目录,蒲公英 - 文档中心 - 使用 Fastlane 上传 App 到蒲公英

    Fastlane 简介 Fastlane 是一款为 iOS 和 Android 开发者提供的自动化构建工具,它可以帮助开发者将 App 打包.签名.测试.发布.信息整理.提交 App Store 等工 ...

  4. android 版本更新原理,蒲公英 - 文档中心 - SDK 自动更新机制

    准备知识 蒲公英的 iOS SDK 和 Android SDK,都支持自动版本更新的功能,本文说明了蒲公英 SDK 自动更新的机制. 阅读本文,需要先明白 App 的版本号机制,以及蒲公英的自增 Bu ...

  5. android 退出登录通知到每个界面,文档中心 | QuickSDK——专业的手游第三方SDK接入服务平台,渠道SDK聚合,广告跟踪,客服,登录充值SDK...

    1.接入前项目检查(必接) 根据游戏接入后出现的问题,QuickSDK对游戏项目做以下几点要求: · AndroidManifest.xml中android:targetSdkVersion=&quo ...

  6. iOS 开发之 pdf 文档的加载与浏览的 4 种方式

    原文链接:http://www.jianshu.com/p/1d4305a02ea5 在我们的开发中,有些像电子书类型的 app 的开发会涉及到 pdf 文档的加载与展示.由于笔者项目中正好涉及到这块 ...

  7. 服务器根目录文件配置文件,在文档根目录中存储安装和配置文件

    在文档根目录中存储安装和配置文件 wanboot-cgi 程序在 WAN Boot 安装过程中传输以下文件. wanboot 程序 WAN Boot 最小根文件系统 定制 JumpStart 文件 S ...

  8. Nagios安装部署与Cacti整合文档超精细版本

    Nagios安装部署与Cacti整合文档超精细版本 (2011-06-01 01:28) 分类: nagios监控 Nagios安装部署与Cacti整合文档 系统环境:CentOS5.4 文档版本:V ...

  9. |9 其他(linux特定的), 用来存放内核例行程序的文档.,Linux下的帮助命令

    Linux下的帮助命令 一.内建命令与外部命令 内建命令实际上是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在bash源码的builtins里面的,并由 ...

最新文章

  1. C++类成员函数重载问题
  2. 我国拟开展2016年新型智慧城市评价工作
  3. 聊聊redis的HealthIndicator
  4. uiuc工程学院计算机,UIUC计算机工程专业排名2020年
  5. c#编译器对byte类型的一些规则 (转)
  6. 图解WordPress主题(模板)架构
  7. java 停止kettle转换_通过java运行Kettle转换
  8. vue获取当前月最后一天_只争朝夕,不负韶华——站在2020年第一天,回望2019最后的两个月...
  9. php多维数组key交换,php 根据key计算多维数组的和功能实例
  10. [Android]Log打印
  11. 013.Makefile
  12. WinForm CefSharp 笔记一(入门篇)
  13. java clh_CLH锁学习
  14. 瑞萨 RA MCU 基础知识
  15. Unity3d实现Projector(喷码效果)
  16. 自我觉知和自我知觉(self-perception)
  17. Virtualbox源码分析4:VMM虚拟化实现源码分析1
  18. Flask成长笔记--依赖包操作
  19. 凯撒密码(Caesar)
  20. iOS 开发:真机测试

热门文章

  1. UE4创建一个左右摇摆的“喷泉”
  2. js实现几秒倒计时之后自动跳转页面
  3. Codeforces Round #700 (Div. 2)全部题解
  4. Mac安装brew/yum
  5. android删除本地图片,Android中结合contentResolver.delete和file.delete实现本地图片的删除...
  6. stm32 cubemx 新建项目一直报错的问题终于解决了
  7. 数据探查平台-元数据对标专利 -- 普帝
  8. python绘图基础
  9. 生物素标记肽Biotin-εAhx-GLKLRFEFSKIKGEFLKTPEVRFRDIKLKDN
  10. 解决新版Chrome无法将单个标签页静音的问题