企业应用程序的部署并不在iOS 7.1工作企业应用程序的部署并不在iOS 7.1工作(Enterpr

2019-05-08 21:56发布

我们通过企业帐户发布的应用程序,使用itms-services:// URL。 这一直工作得很好,但我们的iPad上安装了iOS 7.1测试版后,拒绝安装。 相反,我们刚刚得到的通用Cannot connect to example.com的消息时,有任何形式的问题下载的应用程序,iOS的无助地显示。

我一直无法在这里找到任何东西所以,关于谷歌或在7.1发行说明,表明这可能是导致该问题。

Answer 1:

我通过在iPad连接到计算机,并通过了XCode管理器查看控制台尝试安装该应用程序中发现的问题。 错误结果是:

无法加载非HTTPS清单网址: http://example.com/manifest.plist

原来,在IOS 7.1,为的URL manifest.plist文件必须是HTTPS,在这里我们使用HTTP。 更改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证书。 我们已经做了,但我想像你有问题,没有它。



Answer 2:

ingconti是正确的。

  1. 上传app.plist到Dropbox的。
  2. 获取app.plist的共享链接,就像https://www.dropbox.com/s/qgknrfngaxazm38/app.plist
  3. 更换www.dropbox.comdl.dropboxusercontent.com中的链接,如https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist
  4. 取出保管箱共享链路上的任何参数,如“?DL =0吨”(按照卡洛斯·阿吉雷Tradeco在企业应用程序部署在iOS 7.1不工作和我自己的经验)。
  5. 创建download.html与格式化为一个链接文件<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
  6. 上传download.html到收存箱
  7. 同样,获得download.html的共享链接,就像https://www.dropbox.com/s/gnoctp7n9g0l3hx/download.html ,并删除任何参数。
  8. 更换www.dropbox.comdl.dropboxusercontent.com在第二个链接,以及像https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html

现在,请访问https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html在你的设备,可以安装应用程序像以前一样。

多美妙的世界!



Answer 3:

继马克·帕内尔的答案,解决这个得到的快速和肮脏的方法是把清单的plist到Dropbox的,然后使用Dropbox的Web界面来获得直接HTTPS链接到它(“分享链接” - >“获取链接” - > '下载')。

实际的IPA可以保持无论你总是服之。 你需要将其插入ITMS-servivces网址的查询之前,URL编码plist中的URL(虽然只是更换任何&S与%3D可能会奏效)。

一个缺点是,安装对话框现在会读“dl.dropbox.com要安装[任何]”。



Answer 4:

这是事实,展望未来我们希望你做的所有OTA部署,通过https与iOS7.1前进。 可耻的是苹果没有记录这一点。

对于那些你正在寻找一个更好的内部解决方案不是依靠保管箱或不得不掏钱现金证书你可以有一个解决方案,如果您按照提示#5这里列出的步骤: HTTP://博客。 httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/

它的要点是:

  • 创建你可以说是完全受信任的设备上安装自己的CA机构证书(我通过简单的电子邮件安装)
  • 创建对根证书的密钥/ CER对你的服务器上安装它
  • 确保您的网络服务器使用的CA机构根证书相匹配的密钥/ CER对
  • 此时,你应该能够通过https安装您的应用程序像往常一样
  • 所有这一切都可以在OSX使用这已经是被默认安装的OpenSSL来完成

这是不一样的只是做了自签名证书,在这个解决方案,您也作为自己的私人证书颁发机构。 如果安装在您的苹果设备上的根证书不被标记为信任(绿色),那么什么是错的。 不要过来。

这绝对有效。

更新日期:2014年3月13日 - 我提供了一个小的命令行工具,简化了整个过程。 :您可以得到它https://github.com/deckarep/EasyCert/releases



Answer 5:

我有同样的问题,虽然我已经使用SSL服务器,简单地改变指向HTTPS不能正常工作,因为是一个潜在的问题。

点击查看图片

这强调了一点告诉我,我们应该给予信任证书的选项,但由于这是应用商店,通过Safari浏览器的工作是恢复的建议只是没有呈现。


我却高兴不起来,因为与现有的解决方案:

  • 有些选项需要在第三方的Dependance(Dropbox的)
  • 我们不愿意支付SSL证书
    • 免费SSL证书只是治标不治本。

我终于通过创建签名的根证书颁发机构自我和使用此生成我们的服务器的SSL证书找到了解决办法。

我用钥匙串访问和OSX服务器,但也有每一步其他有效的解决方案


创建证书颁发机构

从我所收集,认证机构来验证证书是真实的。 由于我们要创建一个自己,它不是完全安全的 ,但它意味着你可以从一个特定机构信任的所有证书。 这些机构的列表,通常默认情况下,在你的浏览器中包含这些实际上是可信的。 (GeoTrust的全球CA,威瑞信等)

  • 打开钥匙串,并使用该证书助理创建一个权威

  • 证书颁发机构的信息填写

  • 我不知道这是否是必要的,但我做了权威可信的。


生成证书签名请求

在我们的例子中,由服务器管理员生成证书签名请求。 只要它是问:“我能有这个信息的证书为我的网站,请”的文件。

  • 接下来,您必须创建您的证书签名请求 (我使用OSX Server的证书管理器时,该位

  • 在您的证书信息填写(只能包含ASCII字符!@Jasper蓝调感谢)

  • 保存在某个地方产生CSR


创建证书

再次充当证书颁发机构,它是由你来决定,如果谁送你的企业社会责任的人是真正的,他们不是故作别人。 房地产主管部门有自己这样做的方法,但因为你是希望相当肯定,你是你,你的验证应该是很肯定:)

  • 回到钥匙串访问打开“创建证书...”选项,如图所示

  • 在您保存的CSR拖动方框中显示

  • 点击“让我覆盖默认此请求按钮”

  • 我希望增加的有效期。

  • 出于某种原因,我们必须重新填写一些信息

  • 点击继续在此屏幕上

  • 请务必点击SSL服务器认证 ,这一个令我有些头疼。

  • 您可以点击继续通过其余的选项。

  • 邮件应用程序将会打开,您发送证书的机会。 取而代之的电子邮件中,右键单击它并保存它。


安装证书

现在,我们需要设置服务器使用我们刚刚创建为它的SSL通信的证书。

  • 如果你的工作的设备服务器,你可能会发现该证书已安装。

  • 如果不是,虽然,双击挂起的证书并拖动,我们刚刚保存从电子邮件到指定的空间PEM文件。 (或者,您可以从钥匙串导出PEM如果你没有保存它。)

  • 更新您的服务器使用这个新的证书。 如果您发现新的证书不会“大棒”和不断恢复,回到粗斜体CAPS


设置设备

每次你需要在安装应用程序的设备将需要有这样的证书颁发机构的副本,让他们知道他们可以从权威信任的SSL证书

  • 回到钥匙串访问和导出证书颁发机构为.cer

  • 然后我把这个文件我用我的OTA应用程序服务器上,用户可以点击这个链接并下载授权证书。 直接通过电子邮件发送证书给用户也是一个有效的选择。

  • 在设备上安装证书。


测试

  • 确保您的plist链接是HTTPS

    • 尝试并安装应用程序! 现在应该工作。 证书颁发机构被信任,而SSL证书从权威来了。


Answer 6:

我可以证实它的工作原理,但你必须把HTML和的plist上的Dropbox。 它的工作原理也可用于非企业OTA,即你想与您的开发共享应用。 球队。

我所做的:

一)在我的网站我与这个链接的页面:

.. HREF = “https://dl.dropboxusercontent.com/u//(your DB ID)/ipa.html”> MyApp的

b)关于DropBox的我写的另一个HTML页面:

.. https://dl.dropboxusercontent.com/u/(your DB ID)/MyApp.plist“>点击安装MyApp的

C)移动了的DropBox的plist,但离开它指向我的旧服务器(无HTTPS)



Answer 7:

打开终端并运行命令:卷曲-i HTTPS://(.ipa文件路径不plist中)

这会告诉你安装程序是否能看到IPA文件。 如果您用“i”可你会看到完整的响应curl命令,它可能不是IPA文件。 这是安装程序看到的反应,所以如果它没有返回HTTP 200和IPA您需要返回它在您结束。

该ITMS安装程序不保存从Safari浏览器的任何背景。 如果验证到Safari浏览器中的一个安全门户,验证Cookie不会传递给安装程序。 即安装程序需要能够看到应用程序不进行认证,这可能是你得到“无法连接到服务器”的原因。



Answer 8:

我有同样的烦恼和上面没有提到。

  • 把plist中的保管箱。
  • 在下载文件按钮,使用鼠标右键该文件的图像下方选择复制链接操作。 该链接已经像https://dl.dropboxusercontent.com/s/xyz123/app.plist?stuff=stuff许多PARAMS。
  • 卸下参数(保持仅之间HTTPS和的.plist地址)
  • 浏览URL编码在网上,选择这些链接之一,拷贝,粘贴,执行,然后将得到的文本复制并粘贴到那里我有ITMS服务链接的HTML。 当我有这个网站在两个不同位置的方式,其中之一是在IPA所在。
  • 确保plist中包括对IPA文件绝对引用。

这两个页面成功合作为iPhone手机采用iOS 7.1上安装应用程序

但是,现在与iOS 7.0倍的iPhone无法安装应用程序。

我创建了一个新的问题: 升级即席应用程序的部署不工作在iOS之前的7.1

这两个问题是紧密相关的,也因缺乏官方引用的结合。



Answer 9:

有些老好人使用1级startssl如果证书处理的问题和共享的Apache配置,增加了自动现有*的.plist文件改变链接证书支持(将与任何证书使用)和代码。 太长复制,所以这里是链接: http://cases.azoft.com/how-to-fix-certificate-is-not-valid-error-on-ios-7/



Answer 10:

如果你碰巧有AWS S3的作品就像一个魅力也。 好。 相对来说:-)

在AWS广告肝卵圆细胞创建一个水桶,添加一个索引文件(也可以仅仅是一个空白的index.html文件),然后使用一个客户端,可以连接到S3像Cyber​​duck的或科达(我用科达 - 在这里你会选择添加网站获得一个连接窗口),然后设置,如连接的连接:

然后在XCode中建立自己的企业专案,并确保您使用https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.ipa作为应用程序的URL,并上传到新的S3存储目录。

你ITMS链接应该匹配,即ITMS服务://行动=下载舱单及URL = https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.plist

瞧。

这仅仅是对通用网址的AWS - 我还没有与AWS的自定义网址试过,所以你可能需要做一些不同的事情。

我决心尽力使以上工作詹姆斯·韦伯斯特的解决方案,但我不能让它使用Plesk。



Answer 11:

作为替代使用Dropbox的你可以使用TestFlight企业签订了应用程序的分销企业分布。

https://www.testflightapp.com/

这对于临时开发版本和企业建立的托管和分发一个梦幻般的服务。



Answer 12:

另外关于Dropbox的前面的答案,我采取了以下文件树如只plist文件已被上传到Dropbox的:

  1. (这里没有变化)上传的ipa文件到你的服务器的HTTP
  2. 上传配置(名为.mobileprovision)(这里没有变化)文件到你的服务器的HTTP
  3. 上传plist文件到你的Dropbox(不改变plist文件里做的URL是绝对)
  4. 使用选项“分享链接与Dropbox的”,它复制链接到剪贴板。 此链接有改变后的部分将被复制到你的HTML文件进入ITMS-servivces网址的查询www.dropbox.com通过dl.dropboxusercontent.com 。 注意我URL编码的链接通过@Mike的建议,但我不考没有做到这一点。 现在ITMS服务网址的查询应该是这样的: itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist

  5. 将HTML文件上传到HTTP服务器。 注意HTML文件包含链接的ipa和配置文件。

  6. 访问从设备到您的html文件,而现在IPA可以通过OTA进行安装像平常。

从目前来看,只有IPA文件必须改变对你的beta测试者提供通过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>


Answer 13:

我们的团队使用的Dropbox针对使用https但还是我们的应用程序被安装失败的临时分配。 经过反复排除故障,我们意识到, 标题字段是必需的了。 每当我们发出了一个链接,而不该领域的Safari忽略的链接,并没有提示用户安装。 有时候,快速发展的测试中,我们跳过了在XML标题节点,而不是填充它。 在这种情况下是有这个问题请确保您的.plist包含填充以下节点的人有所帮助:

      ....
     <string>software</string>
    <key>title</key>
     <string>Your App Name</string>
      ...


Answer 14:

阅读这篇文章后,我不得不仍然在下载我的应用程序有问题。 问题是因为自签名的SSL证书。

我发现这个问题的解决方案。 您需要上传与在它的网页和类型的地址扩展“.CRT”您的证书文件在您的移动Safari浏览器。 系统要求您有关将证书受信任的证书列表。 此操作后,您将能够安装你的ad-hoc应用。



Answer 15:

通用的解决方案是将设备连接到Mac,并遵守安装过程中发生了什么事情。 我得到了一个错误:

,NSErrorFailingURLStringKey = https://myserver.com/app/manifest.plist ,NSUnderlyingError = 0x14678880“此服务器的证书无效。您可能正在连接到一个伪装成是服务器‘myserver.com’,它可以把你的在风险机密信息“,NSURLErrorFailingURLPeerTrustErrorKey =,= NSErrorFailingURLKey https://myserver.com/app/manifest.plist }

甚至有在错误的建议,检查日期设置。 出于某种原因,日期为1 1970年1月设置正确的日期解决了这个问题。



Answer 16:

阿普特试图改变itms-services://?action=download-manifest&url=http://....itms-services://?action=download-manifest&url=https://.... 。 它也不能奏效。 该警告是cannot connect to my domain 。 我发现,还需要更新过的网页。

这个问题是不是与主URL为HTTPS,但在页面中的链接部分的HTML代码。 你需要你的开发人员更新的网页。 我还注意到,没有关于暂存域有效的SSL证书,所以你需要得到一个安装或使用Dropbox和这里的链接,你可能有助于



文章来源: Enterprise app deployment doesn't work on iOS 7.1