Скачайте и установите ipa с самостоятельного размещения на iOS
Мне нужно загрузить и установить ipa
прямо из URL.
Я пробовал это:
NSURL *url = [NSURL URLWithString:@"https://myWeb.com/test.ipa"];
[[UIApplication sharedApplication] openURL:url];
Приложение запускает Safari, но появляется следующее сообщение:
![Error Message "Download Failed, Safari cannot download this file."]()
Возможно ли это?
Ответы
Ответ 1
Чтобы распространять ваше приложение по эфиру (OTA, это означает, что без использования TestFlight или официального магазина приложений) вам может потребоваться создать 3 разных файла, а именно:
- Файл .ipa(с использованием специального профиля подготовки)
- index.html
- manifest.plist
Вы можете использовать Beta Builder для создания этих файлов:
- Архивируйте свою сборку.
- Сохраните .ipa на рабочем столе.
- Загрузите небольшую утилиту Beta Builder из здесь. Это выполняет большую часть требуемой задачи.
- Откройте инструмент и выберите файл .ipa, затем укажите путь, по которому вы будете размещать сборку
https://myWeb.com/MY_TEST_APP
в бета-построителе.
- Сгенерировать все файлы.
- Теперь загрузите
index.html
, your_App.ipa
и manifest.plist
на ваш путь к серверу https://myWeb.com/MY_TEST_APP
- Теперь поделитесь ссылкой
index.html
. После открытия этого файла вам будет предложено нажать "Установить".
- Он установит
your_App.ipa
на ваше устройство.
Вы также можете сделать это более вручную.
index.html
<a href="itms-services://?action=download-manifest&url=https://myWeb.com/MY_TEST_APP/manifest.plist">Install App</a>
manifest.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>http://YOUR_SERVER_URL/YOUR-IPA-FILE.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.yourCompany.productName</string>
<key>bundle-version</key>
<string>1.0.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>YOUR APP NAME</string>
</dict>
</dict>
</array>
</dict>
</plist>
Если приложение отказывается устанавливать или запускать, вам может потребоваться проверить следующие пункты:
- Профиль подготовки, который вы использовали при компиляции/архивировании вашего приложения.
- URL-адреса в
index.html
и manifest.plist
- Возможно, файл
plist
должен размещаться на сервере HTTPS. Вы можете использовать Dropbox для этого, если это необходимо.
- UUID вашего устройства может потребоваться зарегистрировать в Центре разработчиков Apple, если у вас нет лицензии Enterprise
- Возможно, вам придется вручную включить доступ к приложению в настройках > Профили
Ответ 2
Более просто вы можете использовать DropBox для этого. Шаги в основном остаются прежними.
Вы можете сделать следующее:
1) загрузите свой .ipa в dropBox, поделитесь ссылкой для этого .ipa
2) Вставьте общую ссылку для .ipa в файл manifest.plist, Загрузите файл манифеста в DropBox, снова поделитесь ссылкой для этого файла .plist
3) вставьте ссылку для этого Plist в файл index.html с подходящим тегом.
Поделитесь этим файлом index.html с любым, кто может нажать на URL-адрес и загрузить. или вы можете напрямую нажать URL.
Ответ 3
Да, сафари обнаружит *.ipa и попытается установить его, но ipa необходимо правильно подписать и разрешить только устройствам, чтобы установить его.
http://www.diawi.com - это сервис, который поможет вам в этом процессе.
Все это относится к распределению Ad-hoc, а не к производственным приложениям.
Дополнительная информация по ссылке ниже:
Есть ли способ установить приложение iPhone через браузер?
Ответ 4
Ответ для учетной записи Enterprise с помощью Xcode8
-
Экспортируйте .ipa, установив флажок "с флажком манифеста plist" и предоставив требуемые ссылки.
-
Загрузите файл .ipa и .plist в то же место на сервере (которое вы указали при экспорте .ipa/, который упоминается в файле .plist).
-
Создайте ссылку для загрузки, как показано ниже. url должен ссылаться на ваше расположение файла .plist.
itms-services://? action = download-manifest & url = https://yourdomainname.com/app.plist
-
Скопируйте эту ссылку и вставьте ее в браузер Safari в своем iphone. Он попросит установить: D
Создайте кнопку html, используя этот полный URL
Ответ 5
Существуют онлайн-инструменты, упрощающие этот процесс совместного использования, например https://abbashare.com или https://diawi.com
Создайте файл ipa из xcode с профилем adhoc или inhouse и загрузите этот файл на этот сайт.
Я предпочитаю abbashare, потому что сохраняю файл в вашем Dropbox, и вы можете удалить его, когда захотите
Ответ 6
Невозможно, если вам захочется напрямую загрузить и установить приложение с вашего сайта. Для предприятия существует другой способ развертывания и установки приложения в прямом эфире. Ваш URL должен указывать на веб-службу, в которой размещен файл манифеста plist в предопределенном формате, который требуется Apple. Эта служба должна вернуть URL-адрес файла манифеста, который затем можно использовать, как показано ниже:
NSString *urlString = // url string where your manifest.plist is deployed on your server.
NSURL *installationURL = [NSURL URLWithString:[NSString stringWithFormat:@"itms-services://?action=download-manifest&url=%@",[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
[[UIApplication sharedApplication] openURL];
Надеюсь, это ответит на ваш вопрос.
Ответ 7
Создайте виртуальную машину с запущенной на ней Windows и загрузите файл в общую папку.
:-D