Мы распространяем приложения через корпоративную учетную запись, используя itms-services://
URL. Это всегда работало нормально, но после установки бета-версии iOS 7.1 на наш iPad он отказывается устанавливать. Вместо этого мы просто получаем общее Cannot connect to example.com
сообщение, которое iOS бесполезно отображает, когда возникает какая-либо проблема с загрузкой приложения.
Я не смог найти ничего здесь, на SO, в Google или в примечаниях к выпуску 7.1, чтобы предположить, что может быть причиной проблемы.
ios
deployment
Марк Парнелл
источник
источник
Ответы:
Я обнаружил проблему, подключив iPad к компьютеру и просматривая консоль через XCode Organizer при попытке установить приложение. Ошибка оказывается:
Оказывается, в iOS 7.1 URL-адрес
manifest.plist
файла должен быть HTTPS, где мы использовали HTTP. Изменение URL-адреса на HTTPS решило проблему.Т.е.
становится
Я предполагаю, что у вас должен быть действительный сертификат SSL для данного домена. Мы уже сделали, но я думаю, у вас будут проблемы без этого.
источник
Ингконти прав.
www.dropbox.com
сdl.dropboxusercontent.com
в ссылке, как https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plistdownload.html
файл со ссылкой, отформатированной как<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
download.html
в Dropboxwww.dropbox.com
такжеdl.dropboxusercontent.com
на вторую ссылку, например https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html.Теперь зайдите
https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html
в свое устройство, вы можете установить приложение, как раньше.КАКОЙ ЗАМЕЧАТЕЛЬНЫЙ МИР!
источник
В дополнение к ответу Марка Парнелла, быстрый и грязный способ обойти это - поместить лист манифеста в Dropbox, а затем с помощью веб-интерфейса Dropbox получить прямую ссылку https на него ('Поделиться ссылкой' -> ' Получить ссылку '->' Скачать ').
Настоящий ipa может остаться там, где вы всегда его обслуживали. Вам нужно будет URL-кодировать URL-адрес plist перед вставкой его в запрос URL-адреса itms-servivces (хотя может подойти только замена любых & s на% 3D).
Одним из недостатков является то, что диалоговое окно установки теперь будет читать «dl.dropbox.com хочет установить [что угодно]».
источник
Это правда, что в будущем вы должны будете выполнять все развертывания OTA через https в iOS7.1. Позор Apple, что не документировал это.
Для тех из вас, кто ищет лучшее внутреннее решение, нежели полагается на Dropbox или вынужден раскошелиться на получение сертификата, у вас может быть решение, если вы выполните действия, описанные в совете № 5 здесь: http: // blog. httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/
Суть этого заключается в следующем:
Это не то же самое, что просто создание самозаверяющего сертификата, в этом решении вы также действуете как собственный частный центр сертификации. Если ваш корневой сертификат, установленный на вашем устройстве Apple, не помечен как доверенный (зеленый), значит что-то не так. Сделать это в течение.
Это абсолютно работает.
Обновление: 13.03.2014 - я предоставил небольшую утилиту командной строки, которая упрощает весь этот процесс. Вы можете получить его по адресу: https://github.com/deckarep/EasyCert/releases
источник
У меня была та же проблема, и хотя я уже использовал сервер SSL, простое изменение ссылок на https не работало, поскольку была основная проблема.
Нажмите здесь для изображения
Этот подсвеченный бит сказал мне, что нам нужно предоставить возможность доверять сертификату, но поскольку это магазин приложений, работающий через Safari, предложение о восстановлении просто не представлено.
Я не был доволен существующими решениями, потому что:
Наконец-то я нашел решение, создав самозаверяющий корневой центр сертификации. и с помощью этого сгенерировав SSL-сертификат нашего сервера.
Я использовал Keychain Access и OSX Server, но для каждого шага есть другие правильные решения
Создание центра сертификации
Из того, что я понял, центры сертификации используются для проверки подлинности сертификатов. Поскольку мы собираемся создать его самостоятельно, это не совсем безопасно , но это означает, что вы можете доверять всем сертификатам от данного органа. Список этих прав доступа обычно включается в ваши браузеры по умолчанию, поскольку они действительно заслуживают доверия. (GeoTrust Global CA, Verisign и т. Д.)
Генерация запроса на подпись сертификата
В нашем случае запросы на подпись сертификата генерируются администратором сервера. Просто это файл, который спрашивает: «Могу ли я получить сертификат с этой информацией для моего сайта, пожалуйста».
Создание сертификата
Вы снова выступаете в роли центра сертификации, и вы сами решаете, является ли лицо, отправившее вам CSR, подлинным и не претендует на то, чтобы быть кем-то другим. Реальные власти имеют свои собственные способы сделать это, но так как вы, надеюсь, совершенно уверены, что вы сами, ваша проверка должна быть совершенно уверенной :)
Вы можете нажать продолжить через остальные параметры.
Откроется приложение Почта, которое даст вам возможность отправить сертификат. Вместо отправки по электронной почте щелкните правой кнопкой мыши и сохраните.
Установка сертификата
Теперь нам нужно настроить сервер на использование только что созданного сертификата для его трафика SSL.
Настройка устройств
Каждое устройство, на которое необходимо установить приложения, должно иметь копию этого центра сертификации, чтобы они знали, что могут доверять SSL-сертификатам от этого центра
Тест
Убедитесь, что ваши plist ссылки являются https
источник
Certificate Authority
сертификатом, а не самозаверяющим сертификатом SSL, как я ошибочно установил изначальноЯ могу подтвердить, что это работает, но Вы должны поместить html и plist на dropbox. Это работает также для OTA, не являющейся предприятием, т.е. вы хотите поделиться приложением с вашим разработчиком. команда.
Я сделал:
а) на моем сайте я сделал страницу с этой ссылкой:
.. href = "https://dl.dropboxusercontent.com/u//(your DB id) /ipa.html"> MyApp
б) на DropBox я написал еще одну HTML-страницу:
.. https://dl.dropboxusercontent.com/u/(your DB id) /MyApp.plist "> Нажмите, чтобы установить MyApp
c) переместил plist в DropBox, но оставил его в POINT на мой старый сервер (без https)
источник
Откройте терминал и выполните команду: curl -i https: // (путь к файлу .ipa не plist)
Это скажет вам, может ли установщик увидеть файл IPA. Если вы запустите команду curl с '-i', вы увидите полный ответ, и это, вероятно, не файл IPA. Это ответ, который видит установщик, поэтому, если он не возвращает HTTP 200 и IPA, вам нужно будет вернуть его на своем конце.
Программа установки ITMS не сохраняет контекст из Safari. Если вы прошли аутентификацию на безопасном портале в Safari, куки-файлы аутентификации не передаются установщику. То есть установщик должен видеть приложение без аутентификации, и это может быть причиной того, что вы получаете сообщение «Не удается подключиться к серверу».
источник
У меня были такие же проблемы, и я сделал, как упоминалось выше.
Обе страницы успешно работали для установки приложения на iPhone с IOS 7.1
Но теперь iphone с ios 7.0x не может установить приложение.
Я создал новый вопрос: обновление приложения adhoc не работает на ios до 7.1
Обе проблемы тесно связаны, а также связаны с отсутствием официальных ссылок.
источник
Какой-то хороший парень справился с проблемой, используя сертификат ClassSS StartSSL и общую конфигурацию Apache, которая добавляет поддержку сертификатов (будет работать с любым сертификатом) и код для автоматического изменения ссылок в существующих файлах * .plist. Слишком долго копировать, вот ссылка: http://cases.azoft.com/how-to-fix-certificate-is-not-valid-error-on-ios-7/
источник
Если у вас есть AWS S3, который также работает как шарм. Хорошо. Условно говоря :-)
Создайте корзину для ваших специальных объявлений в AWS, добавьте индексный файл (он может быть просто пустым файлом index.html), а затем используйте клиент, который может подключиться к S3, например CyberDuck или Coda (я использовал Coda - где вы выбираете Добавить Сайт, чтобы получить окно подключения), затем установите соединения, как в приложении:
Затем создайте свое корпоративное специальное приложение в XCode и убедитесь, что вы используете https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.ipa в качестве URL-адреса приложения, и загрузите его в новый каталог S3.
Ваша ссылка на itms должна совпадать, т.е. itms-services: //? Action = download-manifest & url = https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.plist
И вуаля.
Это только для общих URL-адресов AWS - я не пробовал использовать пользовательские URL-адреса в AWS, поэтому вам, возможно, придется сделать несколько вещей по-другому.
Я был полон решимости заставить решение Джеймса Вебстера работать выше, но не смог заставить его работать с Plesk.
источник
В качестве альтернативы использованию Dropbox для корпоративного распространения вы можете использовать TestFlight для распространения корпоративных подписанных приложений.
https://www.testflightapp.com/
Это фантастический сервис для размещения и распространения как специализированных сборок, так и корпоративных сборок.
источник
Далее в предыдущих ответах о Dropbox я реализовал следующее дерево файлов, такое как только файл PLIST должен быть загружен в Dropbox:
используйте опцию «Поделиться ссылкой с Dropbox», которая копирует ссылку в буфер обмена. Эта ссылка должна быть скопирована в ваш html-файл в запрос URL itms-servivces после изменения детали
www.dropbox.com
наdl.dropboxusercontent.com
. Обратите внимание, что URL-адрес закодировал ссылку в соответствии с предложением @Mike, но я не тестирую без этого. Теперь запрос URL-адреса itms-сервисов должен выглядеть так:itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist
Загрузите HTML-файл на ваш сервер в http. Обратите внимание, что html-файл содержит как ссылки на ipa, так и файлы инициализации.
Теперь необходимо изменить только файл ipa, чтобы OTA предоставила бета-тестерам следующие версии приложений. Пока Apple пока не меняет правила безопасности.
Я присоединяюсь здесь после очень простого HTML-файла, который я использую:
источник
Наша команда использует Dropbox для специального распространения, которое использует https, но наше приложение не удалось установить. После долгих попыток устранения неполадок мы поняли, что поле заголовка тоже обязательно. Всякий раз, когда мы отправляли ссылку без этого поля, сафари игнорировало ссылку и не предлагало пользователю установить. Иногда для быстрых тестов разработки мы пропускали заголовочный узел в XML и не заполняли его. В случае, если это полезно для любого, имеющего эту проблему, убедитесь, что ваш .plist содержит следующие заполненные узлы:
источник
После прочтения этого поста у меня все еще была проблема с загрузкой приложения. Проблема была из-за самозаверяющего сертификата SSL.
Я нашел решение этой проблемы. Вам необходимо загрузить файл сертификата с расширением «.crt» в Интернете и ввести его адрес в своем мобильном сафари. Система спросит вас о добавлении вашего сертификата в список доверенных сертификатов. После этой операции вы сможете установить свое специальное приложение.
источник
Универсальным решением является подключение вашего устройства к Mac и наблюдение за тем, что происходит во время установки. Я получил ошибку:
В этой ошибке даже предлагалось проверить настройки даты. По какой-то причине дата была 1 января 1970 года. Установка правильной даты решила проблему.
источник
Аптер пытался измениться
itms-services://?action=download-manifest&url=http://....
наitms-services://?action=download-manifest&url=https://....
. Это также не может работать. Предупреждение естьcannot connect to my domain
. Я узнаю, что также необходимо обновить веб-страницу тоже.Проблема не в том, что основным URL-адресом является HTTPS, а в части HTML-кода в ссылке на странице. Вам понадобятся ваши разработчики, чтобы обновить веб-страницу. Я также заметил, что в вашем промежуточном домене нет действующего SSL-сертификата, поэтому вам нужно его установить или использовать Dropbox, и вот ссылка, которая может быть вам полезна
источник