Xcode Server CI版本无法与iOS 7.1一起安装

时间:2014-03-12 13:12:26

标签: ios xcode continuous-integration osx-mavericks xcode-server

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

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

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

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

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

由于

4 个答案:

答案 0 :(得分: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.cerxcode-server.keyxcode-server.cer,并使用server.local证书作为服务器SSL证书。

(来自此guide的信息)

E.g。如果您的主机名称为xcodeserver.companyname.com,则可以放置/CN=xcodeserver.companyname.com

答案 1 :(得分:1)

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

  1. 转到桌面浏览器上的xcode服务器机器人屏幕。
  2. 从您想要的机器人下载产品(.ipa)。
  3. 在连接设备的情况下打开iTunes。
  4. 将.ipa文件拖到iTunes中。
  5. 您应该能够将您的版本替换/安装到您的设备上。

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

答案 2 :(得分:0)

我找到了解决方案。我可以确认步骤4& 5为我工作!

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

答案 3 :(得分:0)

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

我进入了设置 - > Safari - >高级 - >网站数据,然后在我的Xcode服务器网站上刷新,显示删除按钮,并点击该网站。

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