iOS9企业部署分发问题深入了解与解决

1. iOS9以后,企业级分发ipa包将遭到与Mac上dmg安装包一样的待遇:默认不能安装,也不再出现“信任按钮解决办法
2. iOS9以后,企业分发时可能存在:下载的ipa包与网页两者的 bundle ID 无法匹配而导致下载失败的情况  解决办法

※本文主要针对问题二进行问题的深入了解与解决。

我们都知道iOS8企业分发有个bug,就是当因为某种原因更改manifest文件(plist文件)后,导致“无法现在安装程序” 的bug,解决方法就是把plist文件中的bundle-identifier随便加个后缀即可安装成功,比如org.skyfox.cient 改成了org.skyfox.client8
,因为ios8之前是不校验manifest plist中bundle-identifier是否和app的真实bundle ID相同,所以好用哦耶!(并且还得考虑比如七牛这样的服务商cdn缓存问题
刷新缓存)

然而好景不长,iOS9发布后苹果封堵了这个解决方案(其实苹果并不知道到 这个bundle-identifier坑了多少童鞋啊! ),进行bundle-identifier校验,所以之前的解决方法完全不通!。提示信息如下!



无法下载应用程序 此时无法安装

今天仔细的研究了下问题的根源,根源所在并不是Safari浏览器或者七牛的缓存问题,这些问题可以轻易排查并且解决,最后通过Xcode或者 log guru小工具 查看设备实时日志,发现当iOS设备安装itms-services://协议的软件时候会寻找是否在缓存的plist文件中匹配,若匹配,会读取缓存后的plist文件,并且校验缓存文件中  “bundle-identifier是否和app的真实bundle id相同”, 假如缓存了错误的plist那么
很长时间都会校验失败 导致无法安装,同样会提示 ”无法下载应用程序 此时无法安装“。查看log变成了 “Ignore manifest download, already have bundle ID”,证明猜想正确

那么究竟是根据什么规则进行缓存的plist文件那,接下来我用ifunbox等工具打开了设备的文件系统,发现最后找到了一个download.28sqlitedb数据库,当中记录了APP bundle ID 对应的plist等信息,bundl ID恰好是错误的plist中的bundl ID,但这并不能得出结论缓存了plist文件,找了找没找到存在什么地方,感兴趣的可以找找!!  目测是在类似目录:/var/mobile/Library/Caches/



download.28sqlitedb数据库表



download.28sqlitedb数据库

※最后用变相的方法证明的确苹果是根据plist文件url进行缓存

假如我的安装地址是: itms-services://?action=download-manifest&url=https://www.skyfox.org/cient.plist

步骤:

  1. 多次更改client.plist中的bundle-identifier ,
  2. 或者更改 url地址为“https://www.skyfox.org/cient.plist?随机数”
  3. 或者更改 url地址为“https://www.skyfox.org/cient.plist?time=随机数”
  4. 或者同时更改等方法
  5. 查看安装结果与对照log guru 的log

有人说也可以重启设备 缓存即可消失,本人测试无效!

多次实验得出结论,苹果设备是根据plist文件url进行缓存

解决方法 即 “url变更为 https://www.skyfox.org/cient.plist?随机数”或者每次都更改plist文件的域名啊 地址啊 等等方法!

 

如果您有其他不同意见可以随时联系我改正

时间: 2024-10-29 14:17:30

iOS9企业部署分发问题深入了解与解决的相关文章

强化管理远程分支机构利器之coreRODC[为企业部署Windows Server 2008系列九]

core模式下部署DC在<core模式下部署域控制器[为企业部署Windows Server 2008系列六]> 一文中 已经和大家分享过了,如果现在你已经选择了2008域环境作为IT资源集中管理的基础架构,那么恭喜您 ,因为您的公司的竞争力一定会上升,尤其在IT环境管理这里是非常具有竞争力的.您的公司随着业务的扩展,产品销量也增加了,并且很快在具有市场潜力的异地城市开设了分支机构.那么基于域环境的IT基础架构和业务支持系统如何对远程分支机构进行高效低成本的集中管理呢?如何在保证本地市场的 竞

core模式下部署域控制器[为企业部署Windows Server 2008系列六]

在上一回 <一步步开始集中管理[为企业部署Windows Server 2008系列五]> 一文中我们在完 全安装模式的server 2008 中安装了域控制器,我们知道windows server 2008 还支持core模式(核心 安装模式).对于负载比较大的域控制器,为了增加他的性能,我们也可以在core模式下部署域控制器 .这样我们的域控制器性能和稳定性都会大大增强.很多朋友害怕core模式下的命令,或者担心不好管 理(毕竟core模式安装的系统是没有图形管理界面的).那么,在这里给大

DC的网络连接端口与防火墙设置[为企业部署Windows Server 2008系列十]

在前面9篇文章中跟大家分享了2008上dc的搭建以及core模式下的一些应用,当我们为企业部署好基 础架构服务后为了安全起见都会启动 windows server 2008自带的windows 防火墙,并且很多企业还会 单独部署一些安全解决产品(如ISA).那么,要很好的完成这些产品的部署,我们就要了解活动目录的 服务以及DC上的网络连接端口,以便大家在部署防火墙产品的时候开放必要的端口来让我们的企业合法 用户及时连接服务. DC的网络连接端口:在这里我解释为DC上为域用户和成员计算机提供的与域

企业部署Windows 7指南

从 Windows 7测试版到RC版,相信大家都在体验它给我们带来的各种新特性.无论是安全性,可控性,高效 性,简化管理等,Windows 7给我们带来了前所未有的期待.目前大多数企业都把XP系统升级到了SP3,而 有一部分企业也早已部署了VISTA,而个人电脑中XP和VISTA基本持平,VISTA略显偏高,服务器级别 Windows Server 2003还是占大数,但很明显升级到Windows Server 2008的趋势已经很清晰.以我个人观 点,未来部署Windows 7的市场应该非常大

做好准备!迎接Windows 7系统企业部署

Windows 7系统争议多多 早在去年年底,Windows 7操作系统测试版就已经遍布网络中,很多 用户也在第一时间体验到了微软即将主推的Windows 7系统的强大.并且诸多PC厂商也承诺过免费提供 Windows 7操作系统升级服务,联想公司曾宣布今年6月26日到明年1月31日之间购买其产品的用户,随机 附带的Windows Vista系统,包括Home Premium.Business以及Ultimate版本在内,都可享受免费升级服务.而在联想提出此项优惠政策之前,惠普就曾推出了类似的免

企业部署Windows 8应用之道

  自去年(2012年)微软推出新一代操作系统Windows 8以来,业界无论是消费者还是企业客户对于Windows 8都在密切关注着.我们看到Windows 8的诞生,它开创了新的操作系统时代,从某种意义来讲它指领了未来的发展方向.今天我们将针对Windows 8的特性以及企业级应用(商用)的价值,比特网记者采访了微软中国Windows商用市场总监包嘉峰,他就Windows 8特性以及商用价值进行了精彩的解读. 升级Windows 8 迫在眉睫 相比于Windows XP系统,Windows

详解企业部署NoSQL数据库的优势与陷阱

文章讲的是详解企业部署NoSQL数据库的优势与陷阱,什么是NoSQL?所谓NoSQL(Not Only SQL),即非关系型数据库.在传统数据存储系统中,数据存储在多个表中,相互关系通过主键和外键来建立,而管理主键和外键关系的正是SQL.而在NoSQL数据库中,不存在传统的外键关系,所以人们把这种语言称为NoSQL.NoSQL最早由谷歌和亚马逊提出,用于解决自己业务模型中遇到的扩展难题.随着大数据时代的到来,越来越多的组织需要处理大量的网站流量.大数据和社交媒体数据等,人们对NoSQL的需求越来

Snort企业部署实战

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://chenguang.blog.51cto.com/350944/969641 Snort企业部署实战 1 背景       我们知道企业网络目前威胁来自两个位置:一个是内部,一个是外部.来自外部的威胁都能被防火墙所阻止,但内部攻击都不好防范.因为公司内部人员对系统了解很深且有合法访问权限,所以内部攻击更容易成功.IDS为信息提供保护,已经成为深度防御策略中的重要部分.IDS与现实

Kubernetes的企业部署目标

本文讲的是Kubernetes的企业部署目标[编者的话]这篇文章主要介绍企业部署Kubernetes的部署模型,包括托管Kubernetes和容器服务.公共云和基础设施服务.私有部署和数据中心及混合部署. [深圳站|3天烧脑式Kubernetes训练营]培训内容包括:Kubernetes概述.架构.日志和监控,部署.自动驾驶.服务发现.网络方案等核心机制分析,进阶篇--Kubernetes调度工作原理.资源管理及源码分析等. 我们可以在各种不同环境使用不同的模式部署Kubernetes.随着更多