Как распространять приложение ios по беспроводной сети без управления UDIDs и перекомпиляции



Мне нужно знать, какие методы люди используют для распространения (внутренне) демо приложения iPad по беспроводной сети без необходимости управлять UDID?



Мне не нужно такое решение, как testflight или betabuilder, все это требует от меня управления UDID на портале профилей подготовки apple.



Я задаю этот вопрос, потому что я вижу, что другая студия делает гораздо более умный способ прямо сейчас, и я хочу знать, как они это сделали - со ссылкой, которую они дали нам, мы можем установить их демонстрационное приложение из простого HTML по воздуху, и профиль подготовки волшебным образом появляется в моем iPad. Все это произошло без того, чтобы я сказал им UDID моего iPad, и поэтому определенно без них перекомпилировать проект.



как они это делали?

590   7  

7 ответов:

я распространяю свои приложения по беспроводной сети уже несколько месяцев без проблем. Конечно, я распространяю по корпоративной лицензии, которая стоит $ 299 в год и предназначена для внутреннего использования в бизнесе. Это может работать с обычной лицензией разработчика, но вам придется провести некоторое тестирование, чтобы убедиться. Я предполагаю, что процесс такой же, если он работает. Я использую XCode 4, так что это может быть немного по-другому, если вы используете другую версию. В принципе, вы должны добавить Права.plist файл для ваших ресурсов:

New->File->Code Signing->Entitlements

и прежде чем распространять, надо менять:

"Can be debugged" to NO

убедитесь, что ваш проект настроен с правильными профилями для подписания кода. Теперь переходим к:

Product->archive

затем с помощью новой записи нажмите на: Поделиться

Select "iOS App Store Package (.ipa)"

и выберите правильный профиль распределения, который вы хотите использовать. Нажмите кнопку Далее ,затем выберите место для сохранения.файл для. Прежде чем нажать кнопку Сохранить, необходимо чтобы проверить

Save for Enterprise Distribution

The .ipa-файл должен быть сохранен на FTP-сервере, или, по крайней мере, так я его получил. Для поля "URL приложения" используйте путь к нему .ipa файл, который вы собираетесь сохранить, например,

ftp://ftp.company.com/Installers/myApp.ipa

дайте ему название, затем в "большом URL-адресе изображения" и "Малом URL-адресе изображения" дайте ему путь к вашим большим (512x512) и маленьким (72x72) файлам значков (Я разрабатываю для iPad, поэтому iPhone может быть другим). Например,

ftp://ftp.company.com/Installers/small.png

сохранить .файл. Теперь вам нужно разместить ваш .файл mobileprovision на ftp сервере. Любой, кто хочет запустить приложение, должен установить файл, или они не смогут его запустить. Теперь я не уверен, что вам понадобится .mobileprovision файл, который имеет все идентификаторы устройства встроены в него, если вы не являетесь частью программы предприятия, но вы можете попробовать и посмотреть. Как только все ваши файлы будут на ftp-сервере, вам нужно будет создать электронное письмо, которое имеет ссылки на два файла, но ссылку для них .файл должен быть в специальный формат. Для файла подготовки:

ftp://ftp.company.com/Installers/profile.mobileprovision

и для .файл:

itms-services:///?action=download-manifest&url=ftp%3A%2F%2Fftp.company.com%2FInstallers%2FmyApp.plist

теперь, когда вы отправляете это письмо кому-то, им просто нужно сначала загрузить и установить .mobileprovision файл, затем .файл. Вуаля, они запускают вашу программу. Позвольте мне знать, если это работает без подписки предприятия. Я думаю, это пока .mobileprovision файл содержит идентификатор устройства.

Edit:

я нашел a гораздо лучший способ распространения приложений, но он требует, чтобы у вас был PHP-сервер. То, что вы делаете, это создать PHP-файл, который генерирует файл plist на лету и возвращает его. В ссылках для большого изображения, малого изображения и файла ipa вы передаете ссылки на другие файлы PHP, которые возвращают эти вещи для вашей конкретной программы. Когда вы хотите установить приложение по ссылке, вы просто передаете url-адрес следующим образом:

itms-services:///?action=download-manifest&url=http://mycompany.com/php/installApp.php?app=myappname

в ваших функциях PHP вы просто вставляете myappname в другой PHP вызовы, которые будут тянуть соответствующие файлы с вашего сервера. Используя этот метод, вам не нужно хранить файлы plist для любого из ваших приложений по мере их создания, что упрощает обновление ваших приложений, так как вам не нужно каждый раз перепечатывать информацию, даже не устанавливайте флажок для корпоративного распространения, просто сохраните файл ipa поверх старого, и вы хорошо пойдете. Кроме того, с помощью этого метода легко реализовать функции безопасности и входа в систему. Кроме того, вам не нужно специально устанавливать файл мобильного обеспечения, как он устанавливается сам при установке приложения. Он хранится в файл.

Edit:

просто чтобы уточнить метод PHP, вы создаете php-файл, который создает файлы plist. Скопируйте стандартный файл plist, созданный из сборки Enterprise distribution, а затем в вашем php-файле установите заголовки следующим образом:

$pathToAddFi = "installers/".$_GET['app'].".plist"; //points to the php server file location of your .ipa files. when you call this php script, you pass in the name of the ipa file you want to install. Note: this location doesn't actually contain any plist files!
$root = "http://yourserver.com/php/root/"; //path to this PHP file's directory

header('content-type: application/xml');
header('Content-Disposition: attachment; filename='.basename($pathToAddFi));
header('Content-Transfer-Encoding: binary');

затем вы создаете строку, заменяющую URL-адреса для ваших элементов следующим образом:

<string>".$root."ipa_serve.php?app=". $_GET['app']."</string>

и закончить его с последний заголовок, прежде чем вы повторите XML-строку:

header('Content-Length: ' . strlen($myXml));

наконец, вы можете создать php-файл, чтобы служить ваш файл, который будет обслуживать ваш большие изображения, и небольшое изображение. Должно быть довольно прямо вперед, если вы не очень знакомы с PHP.

Я только что прошел через то же самое. Я думаю, что большим отличием является профиль распределения предприятия ($299 в год) - если у вас есть один из них, вам не нужно иметь UDIDs устройства в списке. Если у вас есть нормальный $99 в год сделки, вы должны. Просто.

хорошая новость заключается в том, что Apple недавно сбросила ограничение "500 сотрудников", поэтому любая компания может получить один из них: http://blog.apperian.com/2010/10/apple-opens-ios-developer-enterprise.html

вы просто должны получить бесплатный номер DUNS от Dun и Bradstreet, которые занимают 30 дней. Мы подали заявку на наш и посмотрим, как все это получится.

вам нужен профиль подготовки, но он встроен в него .файл, его не нужно устанавливать через iTunes в качестве отдельной установки.

вы должны проверить киоск, веб-приложение для управления распределениями сборки OTA Ad Hoc; это фантастика. Он делает все виды умных вещей, в том числе сбор UDIDs устройств вашего пользователя для вас. (Вам, разработчику, все еще нужно ввести их в портал подготовки центра разработки iPhone, но пользователь может оставайтесь в блаженном неведении о том, что Удиды вообще существуют, не говоря уже о том, что они должны посылать их вам. Может быть, это то, что ваш босс раньше.)

Я не знаю, как это сделать без UDID пользователя. Я предполагаю, что разработчик уже имел UDID вашего босса раньше и создал/связал новый профиль подготовки, или ваш босс тестировал мобильное веб-приложение.

вы можете сделать специальные распределения немного легче теперь с распределением беспроводных приложений.

iOS 4: распространение беспроводных приложений для внутренних приложений

приложение, на которое вы ссылаетесь, называется Beta Builder. Мой босс использовал его в первый раз сегодня, и он работал отлично. Определенно стоит $2.

все это произошло без того, чтобы я сказал им UDID моего ipad, и поэтому определенно без них перекомпилировать проект.

малоизвестный факт: вам не нужно перекомпилировать приложение. Вам даже не нужно отказаться от приложения. Все, что имеет значение, - это установленный профиль подготовки, который "достаточно похож" на встроенный.mobileprovision внутри приложения (имя профиля? идентификатор пакета? пачки семян? Кто знает).

кроме того, они могут быть выполнение автоматических сборок. Возможно. А может и нет.

что может происходить:

  1. сервер отправляет вам "профиль конфигурации" (см. SCEP/enterprise whatever). По-видимому, это может быть использовано для получения UDID вашего устройства. Тестовый полет делает это.
  2. сервер автоматически делает несколько вещей (либо путем очистки экрана, либо через некоторый корпоративный API, если он есть):
    1. добавьте UDID устройства в список устройств Apple.
    2. рассказать Apple для создания профиля подготовки.
    3. загрузите профиль подготовки.

принятый ответ довольно старый, и я нашел много запутанных ресурсов для распространения корпоративных приложений, поэтому я подумал, что отвечу лучшим решением.

HockeyApp является бесплатным и позволяет загружать свои корпоративные (и специальные) сборки и служить в качестве публичной страницы загрузки. Обратите внимание, что это будет работать только без регистрации пользователей и предоставления UDID их устройства, если у вас есть учетная запись Apple Enterprise, как упоминали другие здесь, но это, безусловно, самый простой, самый быстрый рабочий процесс для быстрого распространения приложений среди клиентов без дополнительных затрат на подготовку устройств.

Comments

    Ничего не найдено.