热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

企业应用程序部署在iOS7.1上不起作用

本文翻译自:EnterpriseappdeploymentdoesntworkoniOS7.1WedistributeappsviaanEnterpriseaccou

本文翻译自: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 INSTALL!! 创建具有格式为INSTALL!!的链接的download.html文件INSTALL!!
  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


推荐阅读
  • 本文详细解析了如何利用Appium与Python在真实设备上执行测试示例的方法。首先,需要开启手机的USB调试功能;其次,通过数据线将手机连接至计算机并授权USB调试权限。最后,在命令行工具中验证设备连接状态,确保一切准备就绪,以便顺利进行测试。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
  • 在iOS开发中,基于HTTPS协议的安全网络请求实现至关重要。HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer)是一种旨在提供安全通信的HTTP扩展,通过SSL/TLS加密技术确保数据传输的安全性和隐私性。本文将详细介绍如何在iOS应用中实现安全的HTTPS网络请求,包括证书验证、SSL握手过程以及常见安全问题的解决方法。 ... [详细]
  • 本文介绍了一个基于C++标准库实现的INI文件读写操作类。该类在现有网络资源的基础上进行了扩展和优化,增加了获取当前可执行文件路径和宽字节与多字节字符串转换的功能。通过这些增强功能,该类能够更好地适应各种应用场景,提高代码的可移植性和健壮性。具体实现细节请参见 `IniFileSTL.h` 文件。 ... [详细]
  • 分享一下最近写的ReactNative的SSHSFTP组件,iOS端封装了NMSSH,Android端封装了JSch。支持SSH执行命令、实时Shell ... [详细]
  • mac用于开发使用时间长硬盘会越来越小,速度越来越慢的,亦是花了几分钟研究怎么清理系统的缓存,方法:1,到https:www.omnigroup.commore安装OmniDisk ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 教育类应用程序:提升学习效率的专业工具
    2019年,多家独角兽企业高薪聘请Python工程师,这引发了对高效学习工具的关注。以Duolingo为例,其“边玩边学”的模式为语言学习提供了新思路。类似地,错题本作为一种有效的学习方法,能够帮助学生记录和复习易错题目,从而提高学习效率。教育类应用程序通过整合这些先进的学习策略和技术手段,正逐渐成为提升学生学习效果的重要工具。 ... [详细]
  • CentOS 7 网络模式下虚拟机的详细配置指南
     1::虚拟机选择net模式  2:虚拟网络配置 此处的网关和网段与下面的ens-33文件配置要一致由ens-33配置文件向这个配置看齐   3:网卡配置文件vietcsyscon ... [详细]
  • 安卓和ios是什么意思安卓和iOS是移动设备上的两款操作系统。安卓英文名为Android,是美国谷歌公司基于Linux内核开发的操作系统。iOS原名iPhoneOS,是由美国苹果公 ... [详细]
author-avatar
晴天逍遥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有