it-roy-ru.com

Скачайте и установите 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."

Является ли это возможным?

42
Andoxko

Чтобы распространять свое приложение через эфир (OTA, это означает без с использованием TestFlight или официального App Store), вам может потребоваться создать 3 разных файла, а именно:

  • Файл .ipa (с использованием специального профиля обеспечения)
  • index.html
  • manifest.plist

Вы можете использовать Beta Builder для генерации этих файлов:

  1. Архив вашей сборки.
  2. Сохраните .ipa на рабочем столе.
  3. Загрузите небольшую утилиту Beta Builder из здесь . Это выполняет большинство необходимых задач.
  4. Откройте инструмент и выберите свой файл .ipa, затем укажите путь, по которому вы будете размещать сборку https://myWeb.com/MY_TEST_APP в бета-версии.
  5. Генерация всех файлов.
  6. Теперь загрузите index.html, your_App.ipa, & manifest.plist к вашему серверу путь https://myWeb.com/MY_TEST_APP
  7. Теперь поделитесь ссылкой index.html. Как только вы откроете этот файл, вам будет предложено нажать на кнопку установки.
  8. Это установит 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 Developer Center, если у вас нет лицензии Enterprise
  • Возможно, вам придется вручную включить доступ к приложению в меню "Настройки"> "Профили".
116
Balram Tiwari

Проще говоря, вы можете использовать DropBox для этого. Шаги в основном остаются прежними. Вы можете сделать следующее:

1) загрузите свой .ipa в dropBox, поделитесь ссылкой на этот .ipa

2) Вставьте общую ссылку для .ipa в свой файл manifest.plist. Загрузите файл манифеста в DropBox и снова поделитесь ссылкой на этот файл .plist.

3) вставьте ссылку на этот Plist в ваш файл index.html с подходящим тегом.

Поделитесь этим файлом index.html со всеми, кто может нажать на URL и скачать. или вы можете напрямую нажать на URL.

12
Vkharb

Да, safari обнаружит * .ipa и попытается установить его, но ipa должен быть правильно подписан, и только разрешенные устройства смогут его установить.

http://www.diawi.com это служба, которая поможет вам в этом процессе.

Все это для специального распространения, а не для производственных приложений.

Более подробная информация по ссылке ниже: Есть ли способ установить приложение для iPhone через браузер?

5
IamAnil

Существуют онлайн-инструменты, которые упрощают этот процесс обмена, например https://abbashare.com или https://diawi.com Создать файл ipa из xcode с помощью adhoc или внутренний профиль, и загрузить этот файл на этих сайтах. Я предпочитаю abbashare, потому что сохраните файл в свой почтовый ящик, и вы можете удалить его в любое время

3
Mario Buonomo

Ответ для корпоративной учетной записи с Xcode8

  1. Экспортируйте .ipa, установив флажок "с манифестом plist" и предоставьте запрошенные ссылки.

  2. Загрузите файл .ipa и файл .plist в одно и то же место на сервере (которое вы указали при экспорте .ipa/которое упоминалось в файле .plist).

  3. Создайте ссылку для скачивания, как указано ниже. URL должен ссылаться на ваше местоположение файла .plist.

    iTMS-услуга: // действие = скачать-манифест и URL = https://yourdomainname.com/app.plist

  4. Скопируйте эту ссылку и вставьте ее в браузер Safari на вашем iphone. Он попросит установить: D

Создайте кнопку HTML, используя этот полный URL

2
Lahiru Pinto

Это не будет возможно, если вы хотите напрямую загрузить и установить приложение с вашего сайта. Существует другой способ развертывания и установки приложения по беспроводной сети. Ваш 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];

Надеюсь, что это ответ на ваш вопрос.

1
mithlesh jha