无法使用iOS 7.1安装Xcode Server CI生成

无法使用iOS 7.1安装Xcode Server CI生成,ios,xcode,continuous-integration,osx-mavericks,xcode-server,Ios,Xcode,Continuous Integration,Osx Mavericks,Xcode Server,我们目前已经为CI构建设置了Xcode服务器 当尝试在设备上下载构建时,通过SSL访问时,我会遇到“无法连接到服务器。本地” 当我尝试通过http下载时,我被创建为“无法安装应用程序,因为server.local的证书无效” 我相信这和iOS 7.1中OTA下载的SSL验证有关,但我使用的是自分配证书 这是Xcode服务器的缺陷还是限制。我们是否需要非自行分配的证书 谢谢 丹:你是对的。在7.1中,从xcode服务器安装OTA需要SSL验证。因此,您可以为您的xcode服务器获取SSL证书,也可

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

当尝试在设备上下载构建时,通过SSL访问时,我会遇到“无法连接到服务器。本地”

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

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

这是Xcode服务器的缺陷还是限制。我们是否需要非自行分配的证书

谢谢


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

  • 转到桌面浏览器上的xcode server bots屏幕
  • 从所需的bot下载产品(.ipa)
  • 在设备已连接的情况下打开iTunes
  • 将.ipa文件拖到iTunes中
  • 您应该能够在设备上替换/安装您的内部版本


    虽然不像OTA构建那么简单,但它可以工作。

    您最好的解决方案是创建一个自定义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 server中,您需要导入
    Custom-CA.cer
    xcode-server.key
    xcode-server.cer
    ,并使用
    server.local
    证书作为服务器SSL证书

    (来自此网站的信息)


    例如,如果您的计算机主机名是
    xcodeserver.companyname.com
    ,您将把
    /CN=xcodeserver.companyname.com
    我找到了解决方案。我可以确认步骤4和5对我有效


    也有同样的问题,这是Safari上的浏览器缓存问题

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


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

    我在常规SSL证书(通过chrome和Safari验证)方面也遇到了同样的问题您是否已填充错误?我有一个自签名SSL证书。这是由服务器自动创建的。如上所述,即使使用经过验证的SSL证书,它似乎也会被破坏。感谢您的评论,但这并不比将设备插入到开发机器上的instal更容易。我遵循了这一点,它工作了,但每当我单击产品时,我仍然获得的证书无效,如果我通过https,我将无法连接到服务器,有什么想法吗?如果你使用HTTPS
    HTTPS
    ,你能在Safari中访问服务器上的任何页面吗?我能够打开机器人程序站点,我可以很好地四处浏览,它甚至要求我信任我制作的证书,我做到了,但每当我点击产品时,使用HTTPS我就无法连接到服务器。我和Charles一起调试了它,似乎得到了“SSLHandshake:握手时远程主机关闭连接”。此外,我不是唯一一个有这样问题的人-啊,它不应该要求你信任证书-这就是这一步的全部要点“然后你需要在你想与服务器一起使用的所有设备上安装Custom-CA.cer。最简单的方法是通过电子邮件将Custom-CA.cer发送到这些设备。”-这样做意味着证书已添加到设备存储中。你做到了吗?我做到了,在设置中它看起来和这个一模一样(来自五个技巧帖子)-