Dystrybuujemy aplikacje za pośrednictwem konta Enterprise za pomocą itms-services://
adresu URL. To zawsze działało dobrze, ale po zainstalowaniu iOS 7.1 beta na naszym iPadzie odmawia instalacji. Zamiast tego otrzymujemy ogólny Cannot connect to example.com
komunikat, który iOS niepomyślnie wyświetla, gdy pojawia się jakikolwiek problem z pobraniem aplikacji.
Nie mogłem znaleźć niczego tutaj w SO, Google ani w informacjach o wersji 7.1, które sugerowałyby przyczynę problemu.
ios
deployment
Mark Parnell
źródło
źródło
Odpowiedzi:
Znalazłem problem, podłączając iPada do komputera i przeglądając konsolę za pomocą XCode Organizer podczas próby zainstalowania aplikacji. Błąd okazuje się:
Okazuje się, że w iOS 7.1 adres URL
manifest.plist
pliku musi być HTTPS, w którym używaliśmy HTTP. Zmiana adresu URL na HTTPS rozwiązała problem.To znaczy
staje się
Zakładam, że musisz mieć ważny certyfikat SSL dla danej domeny. Już to zrobiliśmy, ale wyobrażam sobie, że bez tego będziesz mieć problemy.
źródło
ingconti ma rację.
www.dropbox.com
zedl.dropboxusercontent.com
w linku, jak https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plistdownload.html
plik z linkiem sformatowanym jako<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
download.html
do skrzynki odbiorczejwww.dropbox.com
siędl.dropboxusercontent.com
w drugim linku, a także, jak https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.htmlTeraz odwiedź
https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html
swoje urządzenie, możesz zainstalować aplikację tak jak wcześniej.CO CUDOWNY ŚWIAT!
źródło
W odpowiedzi na odpowiedź Marka Parnella, szybki i brudny sposób obejścia tego problemu polega na umieszczeniu listy manifestów w Dropbox, a następnie za pomocą interfejsu internetowego Dropbox, aby uzyskać bezpośredni link https do niego („Udostępnij link” -> ” Uzyskaj link ”->„ Pobierz ”).
Rzeczywista IPA może pozostać wszędzie tam, gdzie zawsze ją podawałeś. Będziesz musiał zakodować URL URL-a plist, zanim wstawisz go do zapytania URL itms-servivces (chociaż wystarczy zastąpić dowolne & s% 3D).
Jednym minusem jest to, że okno dialogowe instalacji brzmi teraz „dl.dropbox.com chce zainstalować [cokolwiek]”.
źródło
To prawda, że w przyszłości oczekuje się, że wykonasz wszystkie wdrożenia OTA za pośrednictwem https w iOS7.1. Szkoda, że Apple tego nie dokumentuje.
Dla tych z Was, którzy szukają lepszego rozwiązania wewnętrznego niż poleganie na dropboksie lub konieczność wypłaty gotówki za certyfikat, możesz znaleźć rozwiązanie, postępując zgodnie z krokami opisanymi w punkcie 5 tutaj: http: // blog. httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/
Istota tego jest taka:
To nie jest to samo, co robienie samopodpisanego certyfikatu, w tym rozwiązaniu działasz również jako prywatny urząd certyfikacji. Jeśli certyfikat główny zainstalowany na urządzeniu Apple nie jest oznaczony jako Zaufany (zielony), oznacza to, że coś jest nie tak. Zrób to jeszcze raz.
To absolutnie działa.
Aktualizacja: 13.03.2014 - Udostępniłem małe narzędzie wiersza poleceń, które upraszcza cały ten proces. Możesz go pobrać pod adresem : https://github.com/deckarep/EasyCert/releases
źródło
Miałem ten sam problem i chociaż korzystałem już z serwera SSL, po prostu zmiana linków na https nie działała, ponieważ istniał problem.
Kliknij tutaj, aby zobaczyć obraz
Ten podświetlony fragment powiedział mi, że powinniśmy mieć opcję zaufania do certyfikatu, ale ponieważ jest to sklep z aplikacjami, działając za pośrednictwem Safari, sugestia odzyskiwania po prostu nie jest prezentowana.
Nie byłem zadowolony z istniejących rozwiązań, ponieważ:
W końcu znalazłem rozwiązanie, tworząc samopodpisany główny urząd certyfikacji i generując przy tym certyfikat SSL naszego serwera.
Użyłem Keychain Access i OSX Server, ale istnieją inne prawidłowe rozwiązania dla każdego kroku
Tworzenie urzędu certyfikacji
Z tego, co zbieram, urzędy certyfikacji służą do sprawdzania, czy certyfikaty są oryginalne. Ponieważ zamierzamy go stworzyć sami, nie jest to do końca bezpieczne , ale oznacza, że możesz ufać wszystkim certyfikatom danego organu. Lista tych organów jest zazwyczaj domyślnie dołączana do twoich przeglądarek, ponieważ są one w rzeczywistości zaufane. (GeoTrust Global CA, Verisign itp.)
Generowanie żądania podpisania certyfikatu
W naszym przypadku żądania podpisania certyfikatu są generowane przez administratora serwera. Po prostu jest to plik z pytaniem: „Czy mogę prosić o certyfikat z tymi informacjami dla mojej witryny?”.
Tworzenie certyfikatu
Ponownie działając jako urząd certyfikacji, to Ty decydujesz, czy osoba, która przesłała Ci CSR, jest prawdziwa i nie udaje, że jest kimś innym. Prawdziwe władze mają na to własne sposoby, ale ponieważ masz nadzieję, że jesteś pewien, że jesteś sobą, twoja weryfikacja powinna być całkiem pewna :)
Możesz kliknąć kontynuuj w pozostałych opcjach.
Otworzy się aplikacja Poczta, dająca możliwość wysłania certyfikatu. Zamiast wysyłać e-mailem, kliknij go prawym przyciskiem myszy i zapisz.
Instalowanie certyfikatu
Teraz musimy skonfigurować serwer, aby używał właśnie utworzonego certyfikatu dla ruchu SSL.
Konfigurowanie urządzeń
Każde urządzenie, na którym chcesz zainstalować aplikacje, musi mieć kopię tego urzędu certyfikacji, aby wiedzieć, że może ufać certyfikatom SSL od tego urzędu
Test
Upewnij się, że twoje linki Plist są https
źródło
Certificate Authority
cert, a nie samopodpisany certyfikat SSL, ponieważ zostałem przez pomyłkę zainstalowany na początkuMogę potwierdzić, że działa, ale musisz umieścić html AND plist na dropbox. Działa również w przypadku OTA dla przedsiębiorstw, tj. Chcesz udostępnić aplikację swojemu twórcy. zespół.
Zrobiłem:
a) na mojej stronie utworzyłem stronę z tym linkiem:
.. href = "https://dl.dropboxusercontent.com/u//( twój identyfikator DB) /ipa.html"> MyApp
b) na DropBox napisałem inną stronę HTML:
.. https://dl.dropboxusercontent.com/u/( twój identyfikator DB) /MyApp.plist "> Stuknij, aby zainstalować MyApp
c) przeniósł plist na DropBox, ale pozostawił go POINT na moim starym serwerze (bez https)
źródło
Otwórz terminal i uruchom polecenie: curl -i https: // (ścieżka pliku .ipa nie plist)
Dzięki temu dowiesz się, czy instalator może zobaczyć plik IPA. Jeśli uruchomisz polecenie curl za pomocą „-i”, zobaczysz pełną odpowiedź i prawdopodobnie nie jest to plik IPA. Jest to odpowiedź, którą widzi instalator, więc jeśli nie zwraca HTTP 200 i IPA, musisz go zwrócić po swojej stronie.
Instalator ITMS nie zapisuje żadnego kontekstu z Safari. Jeśli uwierzytelniłeś się w bezpiecznym portalu w Safari, pliki cookie uwierzytelniające nie są przekazywane do instalatora. tzn. instalator musi widzieć aplikację bez uwierzytelnienia, co może być przyczyną „Nie można połączyć się z serwerem”.
źródło
Miałem te same problemy i zrobiłem, jak wspomniano powyżej.
Obie strony działały pomyślnie, instalując aplikację na iPhone'ach z ios 7.1
Ale teraz telefony z systemem iOS 7.0x nie mogą zainstalować aplikacji.
Stworzyłem nowe pytanie: zaktualizowane wdrożenie aplikacji adhoc nie działa na iOS wcześniejszych niż 7.1
Obie kwestie są ściśle powiązane, a także związane z brakiem oficjalnych referencji.
źródło
Jakiś miły facet poradził sobie z tym problemem, używając certyfikatu StartSSL klasy 1 i udostępnionej konfiguracji Apache, która dodaje obsługę certyfikatów (będzie działać z każdym certyfikatem) i kod do automatycznej zmiany łączy w istniejących plikach * .plist. Zbyt długo, aby skopiować, więc oto link: http://cases.azoft.com/how-to-fix-certificate-is-not-valid-error-on-ios-7/
źródło
Jeśli zdarzy ci się mieć AWS S3, który działa również jak urok. Dobrze. Obiektywnie mówiąc :-)
Utwórz segment dla swoich ad hoc w AWS, dodaj plik indeksu (może to być po prostu pusty plik index.html), a następnie za pomocą klienta, który może połączyć się z S3, na przykład CyberDuck lub Coda (użyłem Cody - tam, gdzie wybrałeś Dodaj Witryna, aby uzyskać okno połączenia), a następnie ustaw połączenia jak załączone:
Następnie zbuduj ad hoc dla przedsiębiorstw w XCode i upewnij się, że używasz https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.ipa jako URL aplikacji i prześlij go do nowego katalogu segmentu S3.
Twój link itms powinien pasować, tj. Itms-services: //? Action = download-manifest & url = https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.plist
I voilá.
Dotyczy to tylko ogólnych adresów URL AWS - nie próbowałem z niestandardowymi adresami URL w AWS, więc być może będziesz musiał zrobić kilka rzeczy inaczej.
Byłem zdeterminowany, aby spróbować rozwiązania Jamesa Webstera powyżej, ale nie mogłem zmusić go do współpracy z Plesk.
źródło
Alternatywnie do korzystania z Dropbox do dystrybucji korporacyjnej możesz użyć TestFlight do dystrybucji aplikacji podpisanych korporacyjnie.
https://www.testflightapp.com/
To fantastyczna usługa do hostowania i dystrybucji zarówno kompilacji programistycznych ad-hoc, jak i kompilacji korporacyjnych.
źródło
Kontynuując poprzednie odpowiedzi na temat Dropbox, zaimplementowałem następujące drzewo plików, takie jak tylko plik PLIST musi zostać przesłany do Dropbox:
użyj opcji „Udostępnij link Dropbox”, która kopiuje link do schowka. Ten link należy skopiować do pliku HTML do zapytania URL itms-servivces po zmianie części
www.dropbox.com
odl.dropboxusercontent.com
. Uwaga: URL kodowałem link zgodnie z sugestią @Mike, ale nie testuję bez zrobienia tego. Teraz zapytanie adresu URL usług itms powinno wyglądać następująco:itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist
prześlij plik HTML na swój serwer w http. Uwaga: plik HTML zawiera zarówno łącza do plików ipa, jak i do plików inicjujących.
Odtąd tylko plik IPA musi zostać zmieniony, aby udostępnić kolejne wersje aplikacji przez OTA swoim beta testerom. Dopóki Apple nie zmieni jeszcze zasad bezpieczeństwa.
Dołączam tutaj po bardzo prostym pliku HTML, którego używam:
źródło
Nasz zespół korzysta z Dropbox do dystrybucji ad-hoc, która korzysta z protokołu https, ale nadal nie można zainstalować naszej aplikacji. Po wielu rozwiązywaniach problemów zdaliśmy sobie sprawę, że pole tytułowe jest również wymagane. Ilekroć wysyłaliśmy link bez tego pola, safari zignorowało link i nie poprosiło użytkownika o instalację. Czasami w przypadku szybkich testów programistycznych pomijaliśmy węzeł tytułowy w pliku XML i nie wypełnialiśmy go. Jeśli jest to pomocne dla każdego, kto ma ten problem, upewnij się, że .plist zawiera następujące węzły:
źródło
Po przeczytaniu tego postu nadal miałem problem z pobraniem mojej aplikacji. Problem był z powodu samopodpisanego certyfikatu SSL.
Znalazłem rozwiązanie tego problemu. Musisz przesłać plik certyfikatu z rozszerzeniem „.crt” do sieci i wpisać jego adres w mobilnym safari. System poprosi Cię o dodanie certyfikatu do listy zaufanych certyfikatów. Po tej operacji będziesz mógł zainstalować aplikację ad-hoc.
źródło
Uniwersalnym rozwiązaniem jest podłączenie urządzenia do komputera Mac i obserwowanie, co dzieje się podczas instalacji. Mam błąd:
W tym błędzie była nawet sugestia sprawdzenia ustawień daty. Z jakiegoś powodu była to data 1 stycznia 1970 r. Ustawienie prawidłowej daty rozwiązało problem.
źródło
Apter próbował zmienić
itms-services://?action=download-manifest&url=http://....
naitms-services://?action=download-manifest&url=https://....
. To też nie działa. Alert jestcannot connect to my domain
. Dowiaduję się, że również muszę zaktualizować stronę internetową.Problem nie polega na tym, że głównym adresem URL jest HTTPS, ale częścią kodu HTML w linku na stronie. Będziesz potrzebować programistów, aby zaktualizować stronę. Zauważyłem również, że nie ma ważnego certyfikatu SSL w Twojej domenie testowej, więc musisz go zainstalować lub użyć Dropbox, a tutaj jest link, który może ci pomóc
źródło