Jak rozprowadzać aplikację na ios bezprzewodowo bez zarządzania UDID i rekompilacji

Muszę wiedzieć, jakie metody ludzie używają do dystrybucji (wewnętrznie) demo aplikacji iPad bezprzewodowo bez konieczności zarządzania UDID?

Nie potrzebuję takiego rozwiązania jak testflight czy betabuilder, wszystko to wymaga ode mnie zarządzania UDID w portalu apple provisioning profile.

Zadaję to pytanie, ponieważ widzę, że inne studio robi teraz znacznie mądrzejszy sposób i chciałbym wiedzieć, jak to zrobili - z linkiem, który nam dali, możemy zainstalować ich demo aplikacja z prostego HTML over the air, a profil provisioning magicznie pojawia się w moim iPadzie. Wszystko to stało się bez mojej wiedzy o UDID mojego iPada, a zatem zdecydowanie bez ich rekompilacji projektu.

Jak oni to zrobili?

Author: Bill the Lizard, 2011-04-05

7 answers

[13]}rozprowadzam moje aplikacje bezprzewodowo od kilku miesięcy bez żadnych problemów. Przyznam, że rozprowadzam na licencji Enterprise, która kosztuje $299 rocznie i jest przeznaczona do wewnętrznego użytku biznesowego. Może to działać z normalną licencją dewelopera, ale musisz wykonać kilka testów, aby się upewnić. Wyobrażam sobie, że proces jest taki sam, jeśli działa. Używam XCode 4, więc może to być nieco inne, jeśli używasz innej wersji. Zasadniczo musisz dodać Uprawnienia.plik plist do Twoich zasobów:

New->File->Code Signing->Entitlements

A przed dystrybucją musisz zmienić:

"Can be debugged" to NO

Upewnij się, że twój projekt jest skonfigurowany z odpowiednimi profilami podpisywania kodu. Teraz przejdź do:

Product->archive

Następnie z nowo zbudowanym wpisem, kliknij na: Share

Select "iOS App Store Package (.ipa)"

I wybierz odpowiedni profil dystrybucji, którego chcesz użyć. Kliknij Dalej, a następnie wybierz lokalizację, aby zapisać .plik ipa do. Zanim klikniesz Zapisz, musisz sprawdzić

Save for Enterprise Distribution

The .ipa plik musi być zapisany na serwerze FTP, a przynajmniej tak to działa. W polu "Adres URL aplikacji" użyj ścieżki do .plik ipa, który zamierzasz zapisać, na przykład

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

Nadaj mu tytuł, a następnie w "Large Image URL" i "Small Image URL" nadaj mu ścieżkę do dużych (512x512) i małych (72x72) plików ikon, (rozwijam dla iPada, więc iPhone może być inny). Na przykład,

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

Save the .plik ipa. Teraz musisz umieścić swoje .plik mobileprovision na serwer ftp. Każdy, kto chce uruchomić aplikację, potrzebuje zainstalowanego pliku lub nie będzie mógł go uruchomić. Nie jestem pewien, czy będziesz potrzebował .plik mobileprovision, który zawiera wbudowany identyfikator urządzenia, jeśli nie jesteś częścią programu enterprise, ale możesz spróbować zobaczyć. Gdy wszystkie pliki znajdują się na serwerze ftp, musisz utworzyć wiadomość e-mail z łączami do dwóch plików, ale łączem do .plik ipa musi być w specjalnym formacie. Za rezerwację plik:

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

I dla .plik ipa:

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

Teraz, gdy wyślesz ten e-mail do kogoś, po prostu trzeba najpierw pobrać i zainstalować .plik mobileprovision, a następnie .plik ipa. Voila, uruchamiają Twój program. Daj mi znać, jeśli to działa bez subskrypcji enterprise. Wyobrażam sobie, że tak długo, jak.plik mobileprovision zawierał identyfikator urządzenia.

Edit:

Znalazłem o wiele lepszy sposób dystrybucji aplikacji, ale wymaga to serwer PHP. To, co robisz, to tworzenie pliku PHP, który generuje plik plist w locie i zwraca go. W łączach dla dużego obrazu, małego obrazu i pliku ipa przekazujesz łącza do innych plików PHP, które zwracają te rzeczy dla konkretnego programu. Jeśli chcesz zainstalować aplikację z linku, po prostu podaj adres url w następujący sposób:

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

W Twoich funkcjach PHP po prostu wstawiasz myappname do innych wywołań PHP, które pobierają odpowiednie pliki z twojego serwera. Używając tego metoda, nie musisz przechowywać plików plist dla żadnej z aplikacji, ponieważ są one generowane, co ułatwia aktualizowanie aplikacji, ponieważ nie musisz ponownie wpisywać informacji za każdym razem, nawet nie zaznaczaj pola wyboru dla dystrybucji korporacyjnej, po prostu zapisz plik IPA nad starym i możesz iść. Ponadto łatwo jest zaimplementować funkcje zabezpieczeń i logowania za pomocą tej metody. Ponadto nie musisz specjalnie instalować pliku mobilnego przepisu, ponieważ instaluje się on sam podczas instalacji app. Jest on przechowywany w pliku ipa.

Edit:

Aby wyjaśnić metodę PHP, tworzymy plik php, który tworzy pliki plist. Skopiuj standardowy plik plist utworzony z kompilacji dystrybucji korporacyjnej, a następnie w pliku php Ustaw nagłówki w następujący sposób:

$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');

Następnie tworzysz ciąg znaków zastępujący adresy URL dla Twoich elementów w następujący sposób:

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

I zakończ go ostatnim nagłówkiem, zanim powtórzysz łańcuch xml:

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

Na koniec tworzysz plik php aby obsłużyć plik ipa, jeden do obsługi dużego obrazu, a drugi do obsługi małego obrazu. Powinno być dość prosto, chyba że nie jesteś zbyt zaznajomiony z PHP.

 74
Author: Davido,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-01 15:02:56

Właśnie przechodziłem przez to samo. Myślę, że dużą różnicą jest profil dystrybucji korporacyjnej ($299 rocznie) - jeśli masz jeden z nich, nie musisz mieć identyfikatorów urządzeń na liście. Jeśli masz normalną umowę $99 rocznie, musisz. To proste.

Dobra wiadomość jest taka, że Apple niedawno zrezygnowało z ograniczenia "500 pracowników", więc każda firma może dostać takie: http://blog.apperian.com/2010/10/apple-opens-ios-developer-enterprise.html

Ty wystarczy, że zdobędziesz darmowy numer DUNS od Dun and Bradstreet, który zajmie 30 dni. Złożyliśmy podanie o nasze i zobaczymy, jak to wszystko się potoczy.

 8
Author: Jon Marks,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-20 09:43:18

Potrzebujesz profilu provisioning, ale jest on osadzony w .plik ipa, nie wymaga instalacji przez iTunes jako oddzielny instalowalny.

Powinieneś sprawdzić TestFlight , aplikację internetową do zarządzania dystrybucjami OTA Ad Hoc build; to fantastyczne. Robi wiele sprytnych rzeczy, w tym zbiera dla Ciebie UDID urządzeń użytkownika. (Ty, deweloper, nadal musisz wprowadzić je do portalu aprowizacyjnego Centrum deweloperów iPhone ' a, ale użytkownik może pozostać błogim nieświadomi, że UDIDs w ogóle istnieją, nie ważne, że muszą wysłać go do ciebie. Może to jest to, czego twój szef używał wcześniej.)

 7
Author: Simon Whitaker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-05 20:29:51

Nie znam sposobu, aby to osiągnąć bez UDID użytkownika. Domyślam się, że deweloper miał już wcześniej UDID twojego szefa i stworzył/połączył nowy profil provisioning, lub twój szef testował mobilną aplikację internetową.

Możesz teraz robić dystrybucje ad-hoc trochę łatwiej dzięki bezprzewodowej dystrybucji aplikacji.

IOS 4: Bezprzewodowa dystrybucja aplikacji dla aplikacji wewnętrznych

 2
Author: jmans,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:29:15

Aplikacja, do której się odnosisz nazywa się Beta Builder . Mój szef użył go dziś po raz pierwszy i zadziałał świetnie. Zdecydowanie warte 2 dolary.

 2
Author: FreeAsInBeer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-05 02:44:56

Wszystko to stało się bez mojej wiedzy o UDID mojego iPada, a zatem bez ich rekompilacji projektu.

Mało znany fakt: nie musisz rekompilować aplikacji. Nie musisz nawet rezygnować z aplikacji. Ważne jest tylko to, że istnieje zainstalowany profil aprowizacji, który jest "wystarczająco podobny" do wbudowanego.mobileprovision wewnątrz aplikacji (nazwa profilu? identyfikator pakietu? / align = "left" / Kto wie).

Alternatywnie, mogą robić zautomatyzowane buduje. Może. Może nie.

Co może się dziać:

  1. serwer wysyła Ci "profil konfiguracji" (patrz SCEP / enterprise cokolwiek). Najwyraźniej można to wykorzystać do uzyskania UDID Twojego urządzenia. TestFlight tak robi.
  2. serwer automatycznie robi kilka rzeczy (przez skrobanie ekranu lub przez niektóre API korporacyjne, jeśli istnieje):
    1. Dodaj urządzenie UDID do listy urządzeń Apple.
    2. powiedz apple, aby wygenerował aprowizację profil.
    3. Pobierz profil provisioning.
 0
Author: tc.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-06 21:37:23

Przyjęta odpowiedź jest dość stara i znalazłem wiele mylących zasobów do dystrybucji aplikacji korporacyjnych, więc pomyślałem, że odpowiem lepszym rozwiązaniem.

HockeyApp jest darmowy i pozwala na przesyłanie firmowych (i Ad-Hoc) budów i służyć jako Publiczna strona pobierania. Zauważ, że będzie to działać tylko bez rejestracji użytkowników i udostępniania identyfikatorów UDID ich urządzenia, jeśli masz konto Apple Enterprise, jak inni tutaj wspominali, ale jest to zdecydowanie najprostsze i najszybsze obieg pracy umożliwiający szybką dystrybucję aplikacji do klientów bez nakładów związanych z aprowizacją urządzeń.

 0
Author: fisch2,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-22 18:54:55