前言

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

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

这样问题是因为在 iOS 9 以后的版本中,苹果对企业签名的应用做了更严格了限制。具体解决办法请见: 企业级证书打包下载安装之后无法使用问题

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

这个问题是因为 iOS 9 的一个 Bug 导致的。出现这个问题的前提,一般是由于用户已经从苹果官方 App Store 上安装了相同的应用。

【解决办法】

先在设备中删除之前已经安装的应用,然后再从托管平台安装即可。

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

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

应用安装过程中提示"无法下载应用程序"

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

在导出 iOS 的.ipa文件时,有些开发者选择了App-Store方式,这种方式导出的.ipa文件,只适合于上传到苹果App Store,并不能通过托管平台来安装。如果是这种方式导出的 .ipa文件,传到托管平台上是不能通过安装的。

原因二:在导出 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。

原因六:开发者上传的是一个破解的 ipa 安装包,或者是一个使用破解 Xcode 方式打包生成的 ipa 安装包,或者是通过 iTunes 生成的 ipa 安装包。

通过任何非 Xcode(或 Xcode 的命令行工具)生成的安装包,都是没有办法正确在设备上安装的(越狱设备除外)。

常见的不正确的打包 ipa 的方式有:
通过 iTunes 导出安装包文件通过 iTools 导出安装包文件等等。这种类型的 App 上传到托管平台后,会显示未签名的标签提示。

【正确的方法】

使用一个正常的苹果开发者证书,通过未破解的 Xcode 打包生成 ipa 安装包。

原因七:设备上已经安装了这个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。

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

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


【托管平台】: 托管平台是指将APP发布于第三方平台上面,供用户安装测试。常见的托管平台有蒲公英以及FIR

【App-Store】: App-Store版,用于发布到苹果商店

【Ad-hoc】: 内测版,用于内部指定设备使用

【In-house】: 企业版,可在任何设备上安装,但不能滥用

ipa安装手机失败的几类原因相关推荐

  1. Android手机Root失败的五大重要原因

    ROOT就是根目录,Android系统的ROOT可以解释为开放根目录权限(最高管理员权限).由于Android的开放性,很多内置的应用被 "深深"的植入系统之中无法删除,ROOT获 ...

  2. pythonista脚本_IPA Installer脚本下载-Pythonista脚本IPA Installer(安装手机ipa文件) - 极光下载站...

    pythonista脚本IPA Installer,通过这个脚本,无需电脑,也可有让iOS苹果手机用户端轻松安装ipa文件,非常实用.安装速度快,没有大小限制. 主要特点: 无需上传,本地安装 没有大 ...

  3. 锤子手机安装Apk失败

    锤子手机安装Apk失败 如果在同一个apk在别的手机上可以正常安装,在锤子手机上总是显示安装失败,那么应该是锤子手机设置的问题. 你可以这样设置你的手机(我使用的T2举例的,不同型号的手机可能设置会不 ...

  4. 【Android错误解决方案】解决AndroidStudio在oppo和vivo手机上安装apk失败----终极解决方案

    文章目录 [Android错误解决方案]解决AndroidStudio在oppo和vivo手机上安装apk失败---终极解决方案 问题描述 错误描述 解决方案一 解决方案二 总结 [Android错误 ...

  5. Anbox安装apk失败(提示Failure res=-113等)的解决方法

    详细描述,如下(Anbox:如何安装Google Play商店并启用ARM(libhoudini)支持,简单方法): Failed to install PACKAGE.NAME.apk: Failu ...

  6. 【iOS开发】ipa安装到手机上的三种方式

    转载地址:ipa安装到手机上的三种方式 ipa包 安装三种方式,优先推荐第一种方法(通过iTunes安装). 1.通过iTunes安装 数据线连接手机之后,会自动连接iTunes,(第一次连接的时候会 ...

  7. 手机软件整理-其他类和GPS类软件

    本帖转自塞班论坛 拼合了几个论坛的发帖整理,软件很好,很多我的手机上装了(手机资源有限,没办法全装 其他非常用软件 1.屏幕旋转/横屏软件     理论支持所有三版机型RotateMe_1.50_Be ...

  8. 全面解决Jenkins离线、安装插件失败

    记录一下究极折磨俩天Jenkins安装 一.离线 1.网上常规解决方法,修改配置文件 修改/var/lib/jenkins/updates/default.json jenkins在下载插件之前会先检 ...

  9. pdfFactory Pro 不能被安装(AddPrinterDriver 失败,找不到指定的模块)

    安装pdfFactory,到显示"正在创建pdfFactory Pro 打印机驱动程序"时,出现错误警告 :pdfFactory Pro 不能被安装(AddPrinterDrive ...

  10. 四、iOS逆向:破壳 ipa 安装

    设备环境: 硬件环境:iPhone6.0.Mac电脑Big Sur(M1 芯片). 软件环境:cydia. 2. 操作步骤: (1)cydia 安装Filza File Manager (源为apt. ...

最新文章

  1. 面试官三连问:你这个数据量多大?分库分表怎么做?用的哪个组件?
  2. RabbitMQ 高频考点
  3. mysql 重构同步老数据_MySQL 重构查询的方式
  4. 分布式系统Quorum机制
  5. android快捷开发之Retrofit网络加载框架的简单使用
  6. 2020品牌情商指数报告
  7. mysql主从同步 忽略表_mysql 主从同步时忽略指定的表
  8. JAVA内存结构解析
  9. jenkins内置环境变量
  10. 【11月29】PF 粒子滤波的多维运动模型代码
  11. 项目管理-----整合项目资源
  12. 京东方10.1寸1280*800薄屏EV101WXM-N10-BOE工业屏
  13. setPositiveButton和setNegativeButton
  14. 远程连接服务器出现channel is not opened通道未打开
  15. DHT11大气温湿度模块+直流电机实现根据温度控制风扇转动
  16. 从天宇核心团队出走看山寨“春秋”
  17. JavaWeb基础核心技术-佟刚-专题视频课程
  18. 营销型网站就不用做SEO优化了吗
  19. 《图说VR入门》——DK2入门及其资源汇总
  20. Unity实现怪物巡逻追击玩家

热门文章

  1. 三国志战略版:魏国新黑科技,程昱春华满宠
  2. 笔记本电脑插网线显示未识别的网络_笔记本插入网线,显示未识别网络
  3. ubuntu镜像安装教程
  4. MySQL从删库到跑路(3):神奇的select
  5. 个人备案网站不能做博客了?
  6. 延时delay1s程序 c语言,汇编语言软件延时1s的实现方法
  7. 新年新气象,90行代码菜鸟用Python制作小姐姐新年日历天气卡,送人太有面子啦!...
  8. ipcm 核间通信相关 ---(1)
  9. 社会人类学类毕业论文文献包含哪些?
  10. 游戏服务器更新文件,如何配置网吧游戏更新服务器