Xcode 4: utwórz plik IPA zamiast .xcarchive

182

W Xcode 3.2.5 używam „Kompiluj i archiwizuj”, aby utworzyć plik IPA. W Xcode 4 możesz użyć „Produkt -> Archiwum”, aby zarchiwizować aplikację w pakiecie .xcarchive.

Jak mogę utworzyć plik .ipa za pomocą Xcode 4?

Manni
źródło
3
Za każdym razem, gdy tworzę nową wersję adhoc, moje wyszukiwanie google prowadzi mnie tutaj. W ciągu ostatnich kilku miesięcy widziałem tę stronę wiele razy. Dobre pytanie, dobre rozwiązanie
coneybeare
Oto wtyczka Xcode do eksportowania IPA github.com/rajeshbeats/Xcode-Plugin-Export-IPA
Raj

Odpowiedzi:

391

Tworzenie IPA odbywa się w taki sam sposób, jak tworzenie .xcarchive: Produkt -> Archiwum. Po zakończeniu operacji archiwizacji przejdź do Organizatora, wybierz swoje archiwum, wybierz Udostępnij, a następnie w okienku „Wybierz zawartość i opcje udostępniania:” ustaw Treść na „Pakiet iOS App Store (.ipa) i Tożsamość na iPhone Distribution (która powinien być zgodny z profilem udostępniania ad hoc / App Store dla projektu).

Możliwe, że opcja „Pakiet iOS App Store (.ipa)” może być wyłączona. Dzieje się tak, gdy twoja kompilacja tworzy więcej niż jeden cel: powiedzmy, aplikację i bibliotekę. Wszystkie kończą się w folderze produktów kompilacji, a Xcode jest naiwnie zdezorientowany, jak spakować je oba do pliku .ipa, więc po prostu wyłącza tę opcję.

Sposób rozwiązania tego jest następujący: przejdź przez ustawienia kompilacji dla każdego celu, z wyjątkiem celu aplikacji i ustaw flagę Pomiń instalację na TAK. Następnie wykonaj Produkt -> Archiwum tanga jeszcze raz i przejdź do Organizatora, aby wybrać nowe archiwum. Teraz, klikając przycisk Udostępnij, opcja .ipa powinna być włączona.

Mam nadzieję, że to pomoże.

eploko
źródło
2
To naprawiło mój problem, dzięki! W moim przypadku problemem był w rzeczywistości jeden z projektów potomnych (dla mnie ProtocolBuffers), który miał kilka celów, które wymagały ustawienia pominięcia instalacji.
JosephH
Może być konieczne wybranie opcji Produkt -> Wyczyść i otwórz / zamknij obszar roboczy, zanim pojawi się opcja Produkt -> Archiwum.
Mark Chackerian
Miałem problem z wieloma celami. Ustawienie współdzielonej biblioteki lib na Pomiń instalację TAK, a aplikacja na Pomiń instalację NIE naprawiła to. Nie był to dla mnie problem w Xcode 3.2, tylko 4.1.
logancautrell,
44
„Udostępnij” to teraz „Dystrybucja ...” Następnie wybierz „Zapisz dla przedsiębiorstwa wdrażania Ad-Hoc”
Rembrandt P. Einstein
„Pomiń instalację” nie jest wystarczające - mam ten błąd w Xcode 4.5 i od zawsze nie dystrybuuje się poprawnie, odkąd dodałem bibliotekę z pakietem.
Adam,
44

Po prostu ustawienie Skip Install na YES nie działało dla mnie. Mam nadzieję, że to komuś pomoże.

Poszedłem do zależności od moich celów projektu: Coreplot-CocoaTouch. Następnie udałem się do Coreplot-CocoaTouch Targets. W swoich celach otwarte Fazy budowy. Następnie otworzył Kopiuj nagłówki. Tam miałem niektóre nagłówki publiczne, niektóre prywatne i niektóre w projekcie. Przeniesiono je wszystkie do projektu.

Oczywiście w ustawieniach kompilacji obiektów Coreplot-CocoaTouch zaznaczono, czy opcja Pomiń instalację była ustawiona na TAK w opcjach wdrażania.

Tym razem Archiwum wykonało archiwum, które można podpisać i wyprodukować .ipa.

Borys Gafurow
źródło
1
Po przeniesieniu nagłówków do projektu działa idealnie wraz z powyższymi krokami. Dzięki
iOSAppDev,
Jak chłodny powiew! Każdy upuszczający github.com/sprhawk/ytoolkit.git dla OAuth do swojego projektu będzie tego wymagał. Dzięki.
vmanjz
2
Dlaczego och, dlaczego Xcode wciąż jest pełen tak poważnych błędów? 18 miesięcy później niż ten komentarz, a błąd nadal występuje! Dzięki za pomoc.
Ben Clayton
Nie masz pojęcia, jak bardzo cię teraz kocham ... przynajmniej jeden z moich problemów został rozwiązany! Dziękuję Ci!
Dmytro,
15

Dla archiwów Xcode 4.6 (i Xcode 5)

  • W Organizatorze kliknij prawym przyciskiem myszy archiwum, wybierz Pokaż w Finderze
  • W Finderze kliknij prawym przyciskiem myszy archiwum, wybierz opcję Pokaż zawartość pakietu
  • Otwórz folder Produkty> Aplikacje
  • Aplikacja jest już dostępna
  • Przeciągnij aplikację do folderu iTunes Apps

    wprowadź opis zdjęcia tutaj

  • Kliknij aplikację prawym przyciskiem myszy w iTunes Apps, wybierz Pokaż w Finderze

  • .ipaJest tam!
ohho
źródło
Właśnie tego tak naprawdę potrzebuję dla mojego xcode 4.6.3. Wszystko to jest dla mnie po prostu bezsensowne, tylko ta jedna działa. Świetny !
Forrest
Uwaga, utworzy IPA, ale może nie zainstalować poprawnie, wyświetla ikonę na telefonie po synchronizacji, ale mówi, że instalacja poniżej i nigdy się nie kończy. w każdym razie to moje dotychczasowe doświadczenie po wypróbowaniu tego, Xcode 5.1.1.
colin lamarre
4

W organizatorze możesz kliknąć Udostępnij i zapisać jako pakiet iOS App Store (.ipa). Być może trzeba będzie wybrać opcję „Archiwum” z menu „Produkt”, aby wygenerować archiwum w Organizatorze. Wreszcie, myślę, że musisz mieć poprawnie podpisaną zarchiwizowaną kompilację, aby to zrobić.

Joshua Smith
źródło
3
Łatwo było dowiedzieć się, jak utworzyć Archiwum z projektu. Problem polega na tym, że podczas udostępniania opcja „Pakiet” jest wyszarzona. Być może masz rację, że archiwum musi być podpisane poprawnie, aby ta opcja była włączona. Używam klucza do dystrybucji Ad-Hoc, a także mam uprawnienia określone dla dystrybucji Ad-Hoc. Czy mógłbyś podzielić się tym, jak umożliwić utworzenie pliku IPA?
krasnyk,
4

Miałem ten sam problem, używając starej wersji biblioteki route-me. „Pominąłem” wszystkie biblioteki i biblioteki wewnątrz bibliotek (proj4), ale nadal miałem ten sam problem. Okazuje się, że route-me i proj4 instalowali publiczne pliki nagłówków, nawet gdy biblioteki były pomijane, co zepsuło to w ten sam sposób! Po prostu wszedłem do „trasy etapów budowy” w zakładce route-me i proj4, otworzyłem „Kopiuj nagłówki”, otworzyłem „Publiczny” i przeciągnąłem te nagłówki z „Publicznego” do „Projektu”. Teraz nie są instalowane w $ (BUILD) / usr / local / include, i jestem w stanie zrobić plik IPA z archiwum!

Mam nadzieję, że Apple naprawi ten okropny problem z użytecznością XCode. Nie daje absolutnie żadnych wskazówek, co jest nie tak, po prostu nie działa. Nienawidzę przyciemnionych kontrolek, które nie mówią nic o tym, dlaczego są przygaszone. A może zamiast ignorować kliknięcia, wyłączone elementy sterujące mogą wyświetlić komunikat informujący, dlaczego, do cholery, są wyłączone, gdy klikniesz je z frustracją?

Don Hopkins
źródło
Tak! Problem stanowią wszystkie pliki nagłówkowe oznaczone jako publiczne. Ustawienie ich jako projektu naprawiło problem!
JakubKnejzlik
3

Zakładając, że wykonałeś już udany produkt> Archiwum, w Organizatorze (Shift Apple 2) kliknij Archiwa.

Wybierz swoje archiwum. Wybierz Udostępnij. W okienku „Wybierz zawartość i opcje udostępniania:” ustaw Zawartość na „Pakiet iOS App Store (.ipa) i Identyfikacja na iPhone Distribution.

Kliknij Dalej, wprowadź nazwę aplikacji i kliknij Zapisz.

Pełne krwawe szczegóły ze zrzutami ekranu znajdują się tutaj: Xcode4UserGuide

Snowcrash
źródło
2

Ten, który wypróbował wszystkie inne odpowiedzi i nie miał szczęścia, zaznacz to pole wyboru, mam nadzieję, że to pomoże (zrobiłeś dla mnie xcode 6.0.1)

wprowadź opis zdjęcia tutaj

Inder Kumar Rathore
źródło
0

Miałem ten sam problem ... Musiałem odtworzyć projekt od zera.

Uwaga: mój projekt został utworzony w XCode 3.1 i łączył się ze statyczną biblioteką, która była budowana jako podprojekt (do wspólnego miejsca docelowego). Zmieniłem to, aby zamiast tego zbudować źródło, kiedy odtworzyłem projekt XCode w XCode 4.

Teraz robiąc produkt / archiwum / udostępnij ... dostaje opcję „Pakiet iOS App Store (.ipa)” bezpośrednio nad „Aplikacją” (która jest teraz wyszarzona) i „Archiwum” (która eksportuje plik .xcarchive).

Graeme Wicksted
źródło
0

Ten sam problem. Rozwiązałem ustawienie flagi „pomiń instalację” na TAK dla każdego zewnętrznego projektu, pozostawiając pozostałe cele głównego projektu bez zmian.

Musiałem także przejść do „Edycji schematu…”, wybrać panel „Archiwizacja” i ustawić prawidłowe ustawienie kompilacji dla mojego celu ad-hoc.

Następnie prosty Produkt -> Archiwum -> Udostępnij wykonał oczekiwaną pracę.

nebillo
źródło
0

Musisz zbudować i zarchiwizować swój projekt. Może być konieczne sprawdzenie, jakie ustawienia podpisywania kodu masz w projekcie i które można wykonać.

Użyj Organizatora, aby wybrać wersję archiwum, a następnie możesz udostępnić tę wersję swojego projektu. Musisz ponownie wybrać poprawne podpisywanie kodu. Pozwoli ci to zapisać plik .ipa w dowolnym miejscu.

Przeciągnij i upuść plik .ipa do iTunes, a następnie zsynchronizuj z iPhonem.

Surjit Joshi
źródło
0

Jeśli jest to gra (może być również aplikacja) i masz jakieś biblioteki statyczne, takie jak cocos2d lub inne biblioteki stron trzecich ... musisz tylko wybrać * TYLKO * bibliotekę statyczną (NIE APLIKACJĘ) i w ustawieniach kompilacji w Wdrażanie, ustaw flagę Skip Install YESi zarchiwizuj ją datuje ... !!

vivek
źródło
0

Poszłam rzucić ten sam problem. Żadna z powyższych odpowiedzi nie działała dla mnie, ale sam znalazłem rozwiązanie. Plik IPA nie został utworzony, ponieważ pliki docelowe (libXXX.a) w folderze Cel-> Kompiluj -> Kopiuj pakiet z zasobami

Mam nadzieję, że to komuś pomoże :)

Shrolox
źródło