本文翻译自:Enterprise app deployment doesn't work on iOS 7.1

We distribute apps via an Enterprise account, using an itms-services:// URL. 我们通过企业帐户使用itms-services:// URL分发应用程序。 This has always worked fine, but after installing the iOS 7.1 beta on our iPad it refuses to install. 这一直很好,但是在我们的iPad上安装iOS 7.1 beta后,它拒绝安装。 Instead we just get the generic Cannot connect to example.com message that iOS unhelpfully displays when there is any sort of problem downloading the app. 取而代之的是,当下载应用程序时出现任何问题时,iOS只会显示通用的Cannot connect to example.com消息,iOS Cannot connect to example.com无故显示该消息。

I've been unable to find anything here on SO, on Google or in the 7.1 release notes to suggest what could be causing the problem. 我一直无法在SO,Google或7.1版本说明中找到任何内容来建议可能导致此问题的原因。


#1楼

参考:https://stackoom.com/question/1N4wt/企业应用程序部署在iOS-上不起作用


#2楼

I found the issue by connecting the iPad to the computer and viewing the console through the XCode Organizer while trying to install the app. 我通过将iPad连接到计算机并在尝试安装应用程序时通过XCode Organizer查看控制台发现了问题。 The error turns out to be: 错误结果是:

Could not load non-https manifest URL: http://example.com/manifest.plist 无法加载非https清单URL: http : //example.com/manifest.plist

Turns out that in iOS 7.1, the URL for the manifest.plist file has to be HTTPS, where we were using HTTP. 事实证明,在iOS 7.1中, manifest.plist文件的URL必须为HTTPS,而我们使用的是HTTPS。 Changing the URL to HTTPS resolved the problem. 将URL更改为HTTPS可解决此问题。

Ie

itms-services://?action=download-manifest&url=http://example.com/manifest.plist

becomes 变成

itms-services://?action=download-manifest&url=https://example.com/manifest.plist

I would assume you have to have a valid SSL certificate for the domain in question. 我假设您必须为该域拥有有效的SSL证书。 We already did but I'd imagine you'll have issues without it. 我们已经做到了,但是我想如果没有它,您会遇到问题。


#3楼

Further to the Mark Parnell's answer, a quick-and-dirty way of getting around this is to put the manifest plist into Dropbox, and then using the Dropbox web interface to get a direct https link to it ('Share link' -> 'Get link' -> 'Download'). 除了Mark Parnell的答案之外,解决此问题的一种快捷方法是将清单plist放入Dropbox,然后使用Dropbox Web界面直接获取指向它的https链接(“共享链接”->“获取链接”->“下载”)。

The actual ipa can remain wherever you always served it from. 实际的ipa可以保留在您始终提供服务的任何地方。 You'll need to URL-encode the plist's URL before inserting it into the itms-servivces URL's query (although just replacing any &s with %3D might work). 在将plist的URL插入itms-servivces URL的查询之前,您需要对plist的URL进行URL编码(尽管仅将%3D替换为&s即可)。

One downside is that the install dialog will now read "dl.dropbox.com wants to install [whatever]". 缺点之一是,安装对话框现在显示为“ dl.dropbox.com要安装[任何内容]”。


#4楼

I can confirm it works, But You have to put html AND plist on dropbox. 我可以确认它是否有效,但是您必须将HTML AND plist放在Dropbox上。 It works also for non-enterprise OTA, ie You want to share app with your dev. 它也适用于非企业OTA,即您想与开发人员共享应用。 team. 球队。

I did: 我做了:

a) on my site I made a page with this link: a)在我的网站上,我创建了一个带有以下链接的页面:

.. href="https://dl.dropboxusercontent.com/u//(your DB id)/ipa.html">MyApp .. href =“ https://dl.dropboxusercontent.com/u//(您的数据库ID)/ipa.html”> MyApp

b) on DropBox I wrote another HTML page: b)在DropBox上,我编写了另一个HTML页面:

.. https://dl.dropboxusercontent.com/u/(your DB id)/MyApp.plist"> Tap to Install MyApp .. https://dl.dropboxusercontent.com/u/(您的数据库ID)/MyApp.plist“>点击以安装MyApp

c) moved plist on DropBox but leaving it to POINT to my old server (no https) c)在DropBox上移动了plist,但将其留到POINT到我的旧服务器上(没有https)


#5楼

ingconti is right. ingconti是正确的。

  1. Upload your app.plist to dropbox. 将您的app.plist上载到保管箱。
  2. Get shared link of app.plist, like https://www.dropbox.com/s/qgknrfngaxazm38/app.plist 获取app.plist的共享链接,例如https://www.dropbox.com/s/qgknrfngaxazm38/app.plist
  3. replace www.dropbox.com with dl.dropboxusercontent.com in the link, like https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist 在链接www.dropbox.com dl.dropboxusercontent.com替换为dl.dropboxusercontent.com ,例如https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist
  4. Remove any parameters on the dropbox shareable link such as "?dl=0t" (as per Carlos Aguirre Tradeco at Enterprise app deployment doesn't work on iOS 7.1 and my own experience). 删除Dropbox共享链接上的所有参数,例如“?dl = 0t”(根据企业应用程序部署中的 Carlos Aguirre Tradeco在iOS 7.1上无法运行,以及我自己的经验)。
  5. Create a download.html file with a link formatted as <a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a> 创建具有格式为<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>的链接的download.html文件<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
  6. Upload your download.html to dropbox 将您的download.html上传到保管箱
  7. Again, get a shared link of download.html, like https://www.dropbox.com/s/gnoctp7n9g0l3hx/download.html , and remove any parameters. 再次,获得一个download.html共享链接,例如https://www.dropbox.com/s/gnoctp7n9g0l3hx/download.html ,并删除所有参数。
  8. Replace www.dropbox.com with dl.dropboxusercontent.com in the second link as well, like https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html 更换www.dropbox.comdl.dropboxusercontent.com在第二个链接,以及像https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html

Now, visit https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html in your device, you can install the app like before. 现在,在设备中访问https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html ,您可以像以前一样安装该应用程序。

WHAT A WONDERFUL WORLD! 多么美好的世界!


#6楼

It is true, going forward you are expected to do all OTA deployments over https going forward with iOS7.1. 的确如此,今后您将在iOS7.1上通过https完成所有OTA部署。 Shame on Apple for not documenting this. 对Apple感到遗憾的是没有对此进行记录。

For those of you that are looking for a better in-house solution than relying on dropbox or having to fork out cash for a certificate you can have a solution if you follow the steps outlined in tip #5 here: http://blog.httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/ 对于那些寻求更好的内部解决方案而不是依赖于保管箱或必须掏出现金来获得证书的人,如果您按照此处提示5中概述的步骤进行操作,则可以找到解决方案: http:// blog。 httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/

The gist of it is this: 要点是:

  • Create your own CA Authority certificate that you can install on the device that is fully trusted (I installed by simply emailing it) 创建您自己的CA Authority证书,您可以将其安装在完全受信任的设备上(我通过简单地通过电子邮件将其安装)
  • Create the key/cer pair against the root certificate and install it on your server 针对根证书创建密钥/ cer对,并将其安装在服务器上
  • Make sure your webserver utilizes the key/cer pair that matches the CA Authority root certificate 确保您的网络服务器使用与CA Authority根证书匹配的密钥/ cer对
  • At this point you should be able to install your apps as usual over https 此时,您应该可以照常通过https安装应用
  • All of this can be accomplished on OSX using openssl which is already installed by default 所有这些都可以在OSX上使用默认已安装的openssl来完成

This is not the same as just doing a self-signed certificate, in this solution you are also acting as your own private Certificate Authority. 这与仅执行自签名证书不同,在此解决方案中,您还充当自己的私有证书颁发机构。 If your root certificate that is installed on your Apple device is not marked as Trusted (green) then something is wrong. 如果您在Apple设备上安装的根证书未标记为“受信任”(绿色),则出问题了。 Do it over. 做完。

This absolutely works. 这绝对有效。

Update: 3/13/2014 - I have provided a small command line utility that simplifies this entire process. 更新:2014年3月13日-我提供了一个小型命令行实用程序,可简化整个过程。 You can get it at: https://github.com/deckarep/EasyCert/releases 您可以在以下位置获取它: https : //github.com/deckarep/EasyCert/releases

企业应用程序部署在iOS 7.1上不起作用相关推荐

  1. 如何将nodejs项目程序部署到阿里云服务器上

    将nodejs项目程序部署到阿里云服务器上 一.概述 二.具体步骤 1.拥有自己的服务器 2.下载Xshell 3. oneinstack配置web环境 4. XShell连接远程主机 5.更新系统软 ...

  2. ionic android 闪退,ionic 程序部署到ios设备闪退或白屏的解法方案

    一般来说,这是一个比较麻烦的问题,网上有很多文章阐述了解决办法,都是通过更改config.xml文件中splashscreen相关配置, 我这里不再累述. 我的看法是, 有很大的可能是ionic程序出 ...

  3. 企业微信配置部署小程序流程

    1. 进入企业微信后台,点击进入应用管理. 2. 点击创建应用(支持小程序). 3. 上传应用logo图片,应用名称,可见范围(选择可见成员). 4. 完成以上操作,可获取agentId,secret ...

  4. 《企业级ios应用开发实战》一1.3 iOS企业应用程序的发布

    1.3 iOS企业应用程序的发布 除了上述特点,iOS企业应用还有一个显著的特点,就是应用程序的发布方式.iOS企业应用具有两种发布方式:In-House和Ad-Hoc,它们并不经过苹果公司的App ...

  5. 为什么 Flutter 已经为企业应用程序开发做好了准备

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4cowIVYw-1622584445972)(https://ducafecat.tech/2021/06/02/tra ...

  6. 如何将Felgo程序部署到Android中

    概述 经过前面两篇文章的描述,我们知道了Felgo的大致应用,Felgo支持跨平台 windows.macos.Linux以及移动平台Android.IOS.Windows Phone和Windows ...

  7. 公开课视频与课件(完全免费)-《大企业云桌面部署实战》

    公开课已讲课程:(已完结!) 所有本课程的视频,课件全免费,请进群索取:企业统一沟通平台实战 65235615 00-<大企业云桌面部署实战>-培训咨询 01-培训课件 02-培训视频 2 ...

  8. c 应用程序开发框架_企业应用程序开发框架的分类

    c 应用程序开发框架 如果您使用Google"最佳Java框架",那么您很可能会迷失本文 ,它对Java Enterprise世界中的情况进行了很好的概述. 但是,从我的角度来看, ...

  9. java cuba_CUBA平台–新的Java企业应用程序框架

    java cuba 所以..你好,世界! 我们的英语网站终于可以正常使用了,现在每个人都可以下载该平台,并可以以前所未有的速度更快地创建业务应用程序. 在我们决定与国际Java社区共享足够好之前,我们 ...

最新文章

  1. 怎样使一排文字中间有间隔_超级间隔条在中空玻璃中的应用
  2. autocad完全应用指南_建筑绘图慢?580页的AUTOCAD完全自学必备指南,高效绘图不求人...
  3. MachineLearning(6)-Daviad Silver强化学习课程脉络整理
  4. Skype for Business 2015全新部署_07.前端安装01
  5. WebRTC sdp详解
  6. 【IT168 新闻】用友U9 SOA管理软件业标杆吗?
  7. 2020.2.22基于L大源码的Lede x86 软路由精简版固件
  8. 用python画箱线图_python绘制箱线图
  9. 使用函数求余弦函数的近似值
  10. 前端八股文,https、跨域、闭包、原型链,布局、防抖节流等
  11. 机器人 李永禄_第八届中国青少年机器人竞赛名单
  12. 仙人掌相关问题的处理方法(未完待续)
  13. 切比雪夫不等式例题讲解_13.初中数学:怎么解一元一次不等式?把解集表示在数轴上,基础训练...
  14. java画笑脸_canvas 画笑脸
  15. bootstrap v4 toast轻提示正确用法
  16. 数据分析pandas使用
  17. mysql executing_MySQL数据库出现慢查询的危害
  18. POI之excel固定模板导出
  19. Redis内存数据库的应用场景
  20. CSS盒圆角、阴影、边界图片、背景

热门文章

  1. accesskey 提交
  2. AsyncQueryHandler 异步查询框架
  3. Android Fragment 解析(下)
  4. Retrofit 原理解析
  5. todomvp 谷歌的MVP实例
  6. 替代TabActivity,底部菜单主框架搭建
  7. Android Launcher3(一) -- 启动过程
  8. Android隐式(远程)启动Service
  9. Android 多屏显示分析
  10. 通俗易懂地解释遗传算法?有什么例子?