Установка приложения через эфир с HTTPS не работает - PullRequest
3 голосов
/ 03 января 2012

Я знаю, что в целом установка через HTTPS работает, но как-то не так в моей среде.

Насколько я понял, ссылка на сервис itms - это HTTP:

itms-services://?action=download-manifest&url=http://' . $_SERVER['SERVER_NAME'] . $downloadLink

Тогда ссылки в .plist будут HTTPS

<key>assets</key>
        <array>
            <dict>
                <key>kind</key>
                <string>software-package</string>
                <key>url</key>
                <string>https://app.ipa</string>
            </dict>
            <dict>
                <key>kind</key>
                <string>full-size-image</string>
                <key>needs-shine</key>
                <true/>
                <key>url</key>
                <string>https://image_512x512.png</string>
            </dict>
            <dict>
                <key>kind</key>
                <string>display-image</string>
                <key>needs-shine</key>
                <true/>
                <key>url</key>
                <string>https://image_57x57.png</string>
            </dict>
        </array>

Но приложение не будет установлено. Я всегда получаю сообщение «Приложение не может быть загружено»

Все URL доступны по HTTP и HTTPS.

XCode показывает журнал приложения

неизвестно securityd [2331]: домен CFReadStream: ошибка 12: 8

Что я здесь не так делаю?

Thx

Ответы [ 3 ]

5 голосов
/ 14 января 2012

Существует не так много информации о том, как вы пытались решить эту проблему, поэтому вместо реальных ответов у меня просто есть вопросы.Если на любой из вопросов вы ответили «нет», вам следует указать, в какой области находится ваша проблема.

Является ли https://app.ipa фактическим URL, который вы используете в .plist?Если это так, я бы попытался указать полное имя хоста и путь к нему.

Имеет ли сайт https надлежащий подписанный действительный сертификат, который Safari на iOS принимает без какого-либо взаимодействия с пользователем?Если нет, попробуйте правильный сертификат.

Видите ли вы, что файл .ipa загружается с сервера, если вы проверяете файл журнала сервера?

Вы пытались установить файл .ipa с помощью iTunesэто принимается?

4 голосов
/ 17 января 2012

Проблема в том, что центр сертификации должен быть известен iPad.

Если вы распространяете приложения по протоколу HTTPS, а сервер CA принадлежит вам, вам необходимо установить сертификат на iPad. В противном случае iOS попытается загрузить его.

Вы можете установить его, отправив его по электронной почте на iPad или создать файл .pem из программы Keychain Access и разместить его на своем сервере в целях установки. Затем откройте его с помощью Safari, и iOS попросит вас принять его.

Тогда установка работает. Но остерегайтесь использования .htaccess, так как HTTPS и HTTP используются вместе в процессе установки, похоже, вызывает логин / пароль для каждого запроса (4 для образов, .ipa и .plist, что действительно раздражает.

[EDIT] Помните, что вам нужно обращаться к файлу .plist только с HTTPS, так как Apple представила iOS 7.1.

См. Здесь: Развертывание корпоративных приложений не работает на iOS 7.1

0 голосов
/ 17 января 2012
...