iOS 应用安装失败原因排查

前言

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

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

这样问题是因为在 iOS 9 以后的版本中,苹果对企业签名的应用做了更严格了限制。具体解决办法请见: 在 iOS 9 中运行企业版应用

在 iOS 9 中点击“安装”按钮后,没有弹出“是否安装”的提示?

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

为什么在 iOS 9 中,点击“安装”按钮后,没有任何反应,桌面也没有出现应用图标,但是状态栏上的网络图标在转?

这是由于 iOS 9 中的一个 Bug 造成的。虽然看上去没有反应,其实应用已经在后台开始下载并安装了,状态栏上的网络图标在转就是一个证明。这个时候,只要多等待一会儿就好了,应用安装完成之后会在桌面上显示出来的。

在 iOS 8 或 iOS 9 中安装一个之前安装过的应用时,安装失败。

这个是由于 iOS 8 及后续版本的一个 bug 造成的,开发者可以尝试在应用设置中,将“iOS 8 安装修复”的功能打开,然后重新安装应用。具体请见:iOS 8 安装修复

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

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

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

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

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

原因一:在导出 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 7.0 以上的系统时,那么,如果在 iOS 6.1 系统上安装时,肯定是无法安装成功。

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

具体操作方式是:在 Xcode - General - Deployment Info - Deployment Target 中,给 App 设置一个尽量低的版本,例如 iOS 5.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的安装日志

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • UDID 和修改成realease 原因一:在导出 iOS App 的安装包文件(.ipa文件)时,选择了 App...
    博行天下阅读 4,592评论 0 0
  • 本文结合蒲公英以及FIR两家应用托管平台的博文进行整理 前言 iOS 的内测应用在安装时,很多人都遇到过安装失败的...
    SuperDanny阅读 68,449评论 29 35
  • //打包IPA文件是最好再xcode里面打包 不要通过iTunes打包的方式 前言 iOS 的内测应用在安装时,很...
    Hris阅读 8,634评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,392评论 25 707
  • 车飞速向前,两旁的山和树不断的丢在身后,这也是生命的旅程,永远向前向前,走过各种不同的风景,有那么一些时刻,真希望...
    霜冷清秋阅读 229评论 0 0