我们通过一个企业账户,使用itms-services:// URL来分发应用。这一直都很正常,但在我们的iPad上安装了iOS 7.1测试版后,它就拒绝安装了。相反,我们只是得到一个通用的不能连接到example.com的消息,当下载应用程序出现任何问题时,iOS会毫无帮助地显示这个消息。
我无法在SO,谷歌或7.1发布说明中找到任何东西来建议可能导致问题的原因。
我们通过一个企业账户,使用itms-services:// URL来分发应用。这一直都很正常,但在我们的iPad上安装了iOS 7.1测试版后,它就拒绝安装了。相反,我们只是得到一个通用的不能连接到example.com的消息,当下载应用程序出现任何问题时,iOS会毫无帮助地显示这个消息。
我无法在SO,谷歌或7.1发布说明中找到任何东西来建议可能导致问题的原因。
当前回答
进一步解释之前关于Dropbox的问题,我实现了以下文件树,比如只有PLIST文件必须上传到Dropbox:
upload the ipa file to your server in http (no change here) upload the provisioning (.mobileprovision) file to your server in http (no change here) upload the plist file to your dropbox (no change to do inside the plist file as the URLs are in absolute) use the option "Share the link with Dropbox" which copies the link to your clipboard. This link has to be copied into your html file into the itms-servivces URL's query after changing the part www.dropbox.com by dl.dropboxusercontent.com. Note I URL encoded the link as suggested by @Mike but I don't test without to do it. Now the itms-services URL's query should look like this: itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist upload the html file to your server in http. Note the html file contains both links to ipa and provisioning files. access to your html file from your device and now the ipa can be installed by OTA like usually.
从现在开始,只有ipa文件必须更改,OTA提供下一个应用版本给你的测试人员。直到苹果改变安全规则。
我在这里加入我使用的非常简单的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>
其他回答
如果你碰巧有AWS S3,它也很有魅力。好。相对而言:-)
在AWS中为您的ad hocs创建一个bucket,添加一个索引文件(它可以只是一个空白的index.html文件),然后使用一个可以连接到S3的客户端,如CyberDuck或Coda(我使用Coda -在那里您可以选择添加站点以获得连接窗口),然后设置连接如下所示:
然后在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
和s。
这只适用于通用的AWS url -我还没有在AWS上尝试过自定义url,所以你可能需要做一些不同的事情。
我决心尝试让詹姆斯·韦伯斯特的解决方案凌驾于工作之上,但我无法让它与普雷斯克一起工作。
我通过将iPad连接到计算机并在试图安装应用程序时通过XCode Organizer查看控制台发现了这个问题。错误原来是:
无法加载非https清单URL: http://example.com/manifest.plist
在iOS 7.1中,清单的URL。plist文件必须是HTTPS,而我们使用的是HTTP。将URL更改为HTTPS解决了这个问题。
I.e.
itms-services://?action=download-manifest&url=http://example.com/manifest.plist
就变成了
itms-services://?action=download-manifest&url=https://example.com/manifest.plist
我假设您必须拥有有关域的有效SSL证书。我们已经做过了,但我想没有它你会有问题。
通用的解决方案是将你的设备连接到Mac上,然后观察安装过程中发生了什么。我得到一个错误:
Could not load download manifest with underlying error: Error Domain=NSURLErrorDomain Code=-1202 "Cannot connect to the Store" UserInfo=0x146635d0 {NSLocalizedDescription=Cannot connect to the Store, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, NSLocalizedFailureReason=A secure connection could not be established. Please check your Date & Time settings., NSErrorFailingURLStringKey=https://myserver.com/app/manifest.plist, NSUnderlyingError=0x14678880 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “myserver.com” which could put your confidential information at risk.", 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://..。这也行不通。警报是无法连接到我的域。我发现也需要更新网页。
问题不在于主URL是HTTPS,而在于页面内链接中的一些HTML代码。您需要开发人员更新网页。我还注意到在你的登台域上没有有效的SSL证书,所以你需要安装一个或使用Dropbox,这里的链接可能对你有帮助
一些好人通过使用Class 1 StartSSL证书和共享Apache配置来处理这个问题,该配置添加了证书支持(将与任何证书一起工作)和更改现有*中的链接的代码。Plist自动文件。太长了,不能复制,所以这里是链接: http://cases.azoft.com/how-to-fix-certificate-is-not-valid-error-on-ios-7/