我们使用itms-services://
网址通过企业帐户分发应用。这一直很好,但是在我们的iPad上安装iOS 7.1 beta后,它拒绝安装。取而代之的是Cannot connect to example.com
,当下载应用程序时出现任何问题时,我们只会得到iOS 无法显示的一般消息。
我一直无法在SO,Google或7.1版本说明中找到任何内容来建议可能引起此问题的原因。
我们使用itms-services://
网址通过企业帐户分发应用。这一直很好,但是在我们的iPad上安装iOS 7.1 beta后,它拒绝安装。取而代之的是Cannot connect to example.com
,当下载应用程序时出现任何问题时,我们只会得到iOS 无法显示的一般消息。
我一直无法在SO,Google或7.1版本说明中找到任何内容来建议可能引起此问题的原因。
Answers:
我通过将iPad连接到计算机并在尝试安装该应用程序时通过XCode Organizer查看控制台发现了问题。错误结果是:
无法加载非https清单URL:http : //example.com/manifest.plist
事实证明,在iOS 7.1中,manifest.plist
文件的URL 必须为HTTPS,而我们使用的是HTTPS。将URL更改为HTTPS解决了该问题。
即
itms-services://?action=download-manifest&url=http://example.com/manifest.plist
变成
itms-services://?action=download-manifest&url=https://example.com/manifest.plist
我假设您必须为该域拥有有效的SSL证书。我们已经做到了,但我想如果没有它,您会遇到问题。
ingconti是正确的。
www.dropbox.com
为dl.dropboxusercontent.com
,例如https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plistdownload.html
链接格式为的文件<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
download.html
到保管箱www.dropbox.com
用dl.dropboxusercontent.com
在第二个链接,以及像https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html现在,https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html
在您的设备中访问,您可以像以前一样安装该应用程序。
多么美好的世界!
进一步解决Mark Parnell的问题,解决此问题的一种快捷方法是将清单plist放入Dropbox,然后使用Dropbox Web界面直接获取https链接(“共享链接”->“获取链接”->“下载”)。
实际的ipa可以保留在您始终提供服务的任何地方。在将plist的URL插入到itms服务URL的查询中之前,您需要对plist的URL进行URL编码(尽管仅用%3D替换任何&s可能会起作用)。
缺点之一是,安装对话框现在显示为“ dl.dropbox.com要安装[任何内容]”。
没错,展望未来,iOS7.1会要求您通过https进行所有OTA部署。对Apple感到遗憾的是没有对此进行记录。
对于那些寻求更好的内部解决方案而不是依赖于保管箱或必须掏出现金来获得证书的人,如果您按照此处提示#5所述的步骤进行操作,则可以找到解决方案:http:// blog。 httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/
要点是:
这与仅执行自签名证书不同,在此解决方案中,您还充当自己的私有证书颁发机构。如果您在Apple设备上安装的根证书未标记为“受信任”(绿色),则出问题了。做完。
这绝对有效。
更新:2014年3月13日-我提供了一个小型命令行实用程序,可简化整个过程。您可以在以下位置获取它:https : //github.com/deckarep/EasyCert/releases
我遇到了同样的问题,尽管我已经在使用SSL服务器,但是仅更改指向https的链接是行不通的,因为存在一个潜在的问题。
突出显示的一点告诉我,应该给我们选择信任证书的选项,但是由于这是应用程序商店,因此通过Safari浏览器无法显示恢复建议。
我对现有的解决方案不满意,因为:
我终于找到了一个解决方案,方法是创建一个自签名根证书颁发机构,并使用此证书生成我们服务器的SSL证书。
我使用了Keychain Access和OSX Server,但是每个步骤还有其他有效的解决方案
根据我的收集,证书颁发机构用于验证证书是真实的。由于我们将要自己创建一个,因此它并不是完全安全的,但这意味着您可以信任来自给定授权的所有证书。这些权限的列表通常默认情况下包含在您的浏览器中,因为它们实际上是受信任的。(GeoTrust Global CA,Verisign等)
在我们的情况下,服务器管理员会生成证书签名请求。只是它是一个文件,询问“请问我能为我的网站提供一个包含此信息的证书”的文件。
再次充当证书颁发机构,由您决定向您发送CSR的人是否真实,并且他们不假装是其他人。真正的当局有他们自己的方式来做,但是由于您希望自己非常确定自己,因此您的验证应该非常确定:)
您可以单击其余所有选项中的继续。
邮件应用将打开,使您有机会发送证书。右键单击并保存,而不是通过电子邮件发送。
现在,我们需要将服务器设置为使用我们刚刚为其SSL流量创建的证书。
您需要在其上安装应用程序的每个设备都必须具有此证书颁发机构的副本,以便他们知道自己可以信任该证书颁发机构的SSL证书
确保您的plist链接为https
Certificate Authority
证书是证书,而不是我最初错误安装的自签名SSL证书
我可以确认它是否有效,但是您必须将HTML AND plist放在保管箱上。它也适用于非企业OTA,即您想与开发人员共享应用。球队。
我做了:
a)在我的网站上,我制作了一个带有以下链接的页面:
.. href =“ https://dl.dropboxusercontent.com/u//(您的数据库ID)/ipa.html”> MyApp
b)在DropBox上,我编写了另一个HTML页面:
.. https://dl.dropboxusercontent.com/u/(您的数据库ID)/MyApp.plist“>点击以安装MyApp
c)将Droplist上的plist移到了我的旧服务器上(没有https)
打开终端并运行命令:curl -i https://(.ipa文件路径不是plist)
这将告诉您安装程序是否可以看到IPA文件。如果使用“ -i”运行curl命令,则会看到完整的响应,并且可能不是IPA文件。这是安装程序看到的响应,因此,如果未返回HTTP 200和IPA,则需要在其端将其返回。
ITMS安装程序不会从Safari保存任何上下文。如果您通过Safari中的安全门户进行了身份验证,则身份验证Cookie不会传递给安装程序。即,安装程序需要能够在没有身份验证的情况下查看该应用程序,这可能就是您获取“无法连接到服务器”的原因。
我遇到了同样的麻烦,并且如上所述。
这两个页面均能成功在iOS 7.1的iPhone中安装应用程序
但是,现在装有ios 7.0x的iPhone无法安装该应用程序。
我创建了一个新问题:7.1之前的ios上升级的即席应用程序部署不起作用
这两个问题密切相关,并且也由于缺乏官方参考而受到约束。
一些好人通过使用Class 1 StartSSL证书和共享的Apache配置来解决此问题,该配置添加了证书支持(可与任何证书一起使用)和用于自动更改现有* .plist文件中的链接的代码。复制时间太长,因此这里是链接:http : //cases.azoft.com/how-to-fix-certificate-is-not-valid-error-on-ios-7/
如果您碰巧也拥有像魅力一样的AWS S3。好。相对来说:-)
为AWS中的临时文件夹创建一个存储桶,添加一个索引文件(它可以是一个空白的index.html文件),然后使用一个可以连接到S3的客户端,例如CyberDuck或Coda(我使用的是Coda-在其中选择Add网站以获取连接窗口),然后设置连接,如下图所示:
然后在XCode中构建您的企业即席应用程序,并确保您使用https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.ipa作为应用程序URL,并将其上传到新的S3存储桶目录。
您的itms链接应该匹配,即itms-services://?action = download-manifest&url = https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.plist
和瞧。
这仅适用于通用AWS URL-我尚未在AWS上尝试使用自定义URL,因此您可能必须做一些不同的事情。
我下定决心要使James Webster的解决方案超出工作范围,但是我无法使其与Plesk一起使用。
作为使用Dropbox进行企业分发的替代方法,您可以使用TestFlight分发企业签名的应用程序。
https://www.testflightapp.com/
对于临时开发版本和企业版本的托管和分发,这是一项出色的服务。
进一步关于Dropbox的先前答案,我实现了以下文件树,例如仅PLIST文件必须上传到Dropbox:
使用选项“与Dropbox共享链接”将链接复制到剪贴板。此链接有改变后的部分将被复制到你的HTML文件进入ITMS-servivces网址的查询www.dropbox.com
通过dl.dropboxusercontent.com
。请注意,我按照@Mike的建议对链接进行了URL编码,但是如果没有这样做,我不会进行测试。现在,itms-services URL的查询应如下所示:itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist
将html文件上传到http中的服务器。请注意,html文件包含指向ipa和供应文件的链接。
从现在开始,只需更改ipa文件即可通过OTA向您的Beta测试人员提供下一个应用程序版本。直到Apple仍在更改安全规则。
我在使用非常简单的HTML文件之后加入了这里:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>iPhone app for test</title>
</head>
<body>
<h1>iPhone app for test</h1>
<br/>
<ul>
<li><a href="http://www.yourdomain.com/with/directories/provision/v.last/yourprovision_adhoc.mobileprovision">
Install Provisioning File</a></li>
<li><a href="itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist">
Install Application</a></li>
</ul>
</body>
</html>
通用解决方案是将设备连接到Mac,并观察安装过程中发生的情况。我收到一个错误:
无法加载带有潜在错误的下载清单:错误域= NSURLErrorDomain代码= -1202“无法连接到商店” UserInfo = 0x146635d0 {NSLocalizedDescription =无法连接到商店,NSLocalizedRecoverySuggestion =您是否仍要连接到服务器?NSLocalizedFailureReason =无法建立安全连接。 请检查您的日期和时间设置。,NSErrorFailingURLStringKey = https://myserver.com/app/manifest.plist,NSUnderlyingError = 0x14678880“此服务器的证书无效。您可能正在连接到假装为“ myserver.com”的服务器,这可能会使您的服务器机密信息有风险。“,NSURLErrorFailingURLPeerTrustErrorKey =,NSErrorFailingURLKey =https://myserver.com/app/manifest.plist }
在该错误中甚至有建议检查日期设置。由于某种原因,日期是1970年1月1日。设置正确的日期可以解决此问题。
Apter尝试更改itms-services://?action=download-manifest&url=http://....
为itms-services://?action=download-manifest&url=https://....
。这也行不通。警报为cannot connect to my domain
。我发现也同样需要更新网页。
问题不是主要URL是HTTPS,而是页面链接中的一些HTML代码。您需要开发人员来更新网页。我还注意到您的登台域上没有有效的SSL证书,因此您需要安装一个证书或使用Dropbox,以下链接可能对您有所帮助