11

我们目前为 CI 构建设置了 Xcode 服务器。

当尝试在设备上下载构建时,通过 SSL 访问时,我会收到“无法连接到 server.local”。

当我尝试通过 http 下载时,我创建了“无法安装应用程序,因为 server.local 的证书无效”

我相信这与 iOS 7.1 中 OTA 下载的 SSL 验证有关,但是我使用的是自分配证书。

这是 Xcode 服务器的错误还是限制。我们需要一个不是自分配的证书吗?

谢谢

4

4 回答 4

3

您最好的解决方案是创建自定义 CA 并将其安装在设备上,然后为您的特定域创建证书并将其安装在 Xcode 服务器上。

首先创建一个 CA。

openssl genrsa -out Custom-CA.key 2048
openssl req -x509 -new -key Custom-CA.key -out Custom-CA.cer -days 730 -subj /CN="Company Name Certificate Authority"

现在您需要创建一个使用上述权限签名的证书。

重要提示:server.local应替换为您机器的主机名(原始问题使用的是server.local)。IP 地址将不起作用。

openssl genrsa -out xcode-server.key 2048
openssl req -new -out xcode-server.req -key xcode-server.key -subj /CN=server.local
openssl x509 -req -in xcode-server.req -out xcode-server.cer -CAkey Custom-CA.key -CA Custom-CA.cer -days 730 -CAcreateserial -CAserial xcode-server_serial.txt

然后,您需要在要与服务器一起使用的所有设备上进行安装Custom-CA.cer。最简单的方法是将电子邮件发送Custom-CA.cer到这些设备。

在 OS X 服务器中,您需要导入Custom-CA.cer,xcode-server.keyxcode-server.cer使用server.local证书作为服务器 SSL 证书。

(来自本指南的信息)

例如,如果你的机器主机名是xcodeserver.companyname.com你会放/CN=xcodeserver.companyname.com

于 2014-03-26T11:57:53.123 回答
1

你是对的。在 7.1 OTA 中,从 xcode 服务器安装需要 SSL 验证。因此,您可以为您的 xcode 服务器获取 SSL 证书或执行此解决方法。

  1. 在桌面浏览器上转到您的 xcode 服务器机器人屏幕。
  2. 从您想要的机器人下载产品(.ipa)。
  3. 在连接设备的情况下打开 iTunes。
  4. 将 .ipa 文件拖入 iTunes。

您应该能够将您的构建替换/安装到您的设备上。

不像 OTA 构建那么容易,但它确实有效。

于 2014-03-13T19:05:28.137 回答
0

我找到了解决方案。我可以确认第 4 步和第 5 步对我有用!

http://blog.httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/#comments

于 2014-04-01T12:26:21.927 回答
0

有完全相同的问题,这是 Safari 上的浏览​​器缓存问题。

我进入设置 -> Safari -> 高级 -> 网站数据,然后在我的 Xcode 服务器网站上向左滑动以显示删除按钮并单击该网站。

下次我在 Safari 中浏览到 Xcode 服务器并尝试安装构建时,我收到了安装 OTA 证书的提示,当我接受完成后,我可以安装应用程序。

于 2015-02-13T14:25:18.167 回答