XCode Server CI не удается установить с iOS 7.1
В настоящее время наш сервер Xcode настроен для сборки CI.
При попытке загрузить сборки на устройстве меня приветствует "Не удается подключиться к server.local" при посещении через SSL.
Когда я пытаюсь загрузить через http, я создан с "не может установить приложение, потому что сертификат для server.local недействителен"
Я полагаю, что это связано с проверкой SSL для загрузок OTA в iOS 7.1, но я использую самопривязанный сертификат.
Является ли это ошибкой или ограничением сервера Xcode. Нужен ли нам сертификат, который не назначается самостоятельно?
Спасибо
Dan
Ответы
Ответ 1
Лучшее решение - создать собственный ЦС и установить его на устройстве, а затем создать сертификат для своего домена и установить его на сервере 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.key
и xcode-server.cer
и использовать сертификат server.local
в качестве сертификата SSL сервера.
(Информация из этого руководство)
например. Если имя машинного узла было xcodeserver.companyname.com
, вы бы поставили /CN=xcodeserver.companyname.com
Ответ 2
Вы правы. В 7.1 OTA для установки с сервера xcode требуется проверка SSL. Таким образом, вы можете получить сертификат SSL для вашего xcode-сервера или сделать это обходным путем.
- Перейдите на экран бота сервера xcode в браузере рабочего стола.
- Загрузите продукт (.ipa) из бота, который вы хотите.
- Откройте iTunes с подключенным устройством.
- Перетащите файл .ipa в iTunes.
Вы должны иметь возможность заменить/установить свою сборку на свое устройство.
Не так просто, как сборки OTA, но он работает.
Ответ 3
Я нашел решение. Я могу подтвердить, что шаги 4 и 5 работали для меня!
http://blog.httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/#comments
Ответ 4
имел ту же самую проблему, и это была проблема кэширования браузера в Safari.
Я зашел в Настройки → Safari → Дополнительно → Данные веб-сайта, затем оставил на моем сервере Xcode веб-сайт, чтобы открыть кнопку "Удалить" и щелкнул по нему только для этого веб-сайта.
В следующий раз, когда я просмотрел сервер Xcode в Safari и попытался установить сборку, я получил приглашение установить сертификат OTA и, когда он был принят, чтобы я мог устанавливать приложения.