Do dystrybucji aplikacji wśród naszych testerów używamy Xcode, co robimy w następujący sposób:
- Aplikacja archiwum
- Dystrybucja dla Ad-Hoc
- Wybierz profil informacyjny
- Zapisz plik .ipa w folderze
Ale dzięki Xcode 6 ten przepływ pracy został nieco zmieniony. Nadal mogę wybrać opcję dystrybucji Ad-Hoc, ale nie mogę wybrać żądanego profilu informacyjnego. Nie daje nam to żadnej kontroli nad tym, który certyfikat podpisywania jest używany i konfiguracją profilu aprowizacji (używamy powiadomień push).
Domyślnie iPhone distribution
używana jest tożsamość podpisu i XC Ad Hoc
generowany jest pewien rodzaj profilu informacyjnego, który można zobaczyć na poniższej ilustracji:
Kliknięcie strzałki obok profilu informacyjnego powoduje otwarcie folderu z profilami udostępniania.
Więc moje pytanie brzmi:
Czy istnieje sposób w Xcode 6, aby wybrać profil aprowizacji używany z dystrybucją ad hoc?
Dzięki!
Odpowiedzi:
Miałem ten sam problem, rozwiązany za pomocą skryptu narzędziowego "xcodebuild" wiersza poleceń, który jest preinstalowany z Xcode 6 (nie trzeba było ponownie instalować Xcode 5).
http://www.thecave.com/2014/09/16/using-xcodebuild-to-export-a-ipa-from-an-archive/
Skrypt w terminalu:
źródło
xcodebuild
nie miały-exportProvisioningProfile
przełącznika.Miałem podobny problem podczas przesyłania do App Store. Utworzyłem archiwum, a następnie kliknąłem „Prześlij” i Xcode chciał automatycznie podpisać przy użyciu domyślnego profilu aprowizacji „XC com. *” Zamiast jawnego profilu, który już miał.
Aby to naprawić, po prostu ponownie wygenerowałem profil w portalu Apple Developer Portal:
1) Wejdź na developer.apple.com i znajdź dystrybucyjny profil informacyjny, którego chcesz użyć.
2) Wybierz go, kliknij „Edytuj”, zmień nazwę profilu i kliknij „Generuj”.
3) Pobierz profil informacyjny na pulpit i przeciągnij go na ikonę Xcode 6.
4) Uruchom ponownie Xcode 6.
5) Otwórz okno organizatora i kliknij „Prześlij” w utworzonym archiwum. Xcode automatycznie wybierze Twój jawny profil zamiast ogólnego.
źródło
Gdy jesteś w Organizatorze
Oczywiście musisz wygenerować, pobrać i zainstalować profil aprowizacji ad hoc.
źródło
Wygląda na to, że ostatnio wygenerowany profil aprowizacji wygrywa teraz. Możesz więc po prostu ponownie wygenerować żądany profil i pobrać go, a Xcode go użyje.
Nieco lepsze podejście: ustaw żądany profil Prov w celu i użyj wiersza poleceń, aby zbudować swój ipa, to też działa.
Oto skrypt, którego używam:
i moje ustawienia:
źródło
Nie mogłem też tego rozgryźć - zostałem przez to pokonany podczas przesyłania do AppStore, gdzie domyślnie był to profil wieloznaczny.
Skończyło się na tworzeniu w Xcode 6, a następnie wróciłem do okna Organizatora Xcode 5, aby przesłać zgłoszenie. W ten sposób poprosi Cię o wybranie profilu do podpisania.
źródło
W Xcode 6 (co najmniej 6.1, którego używam teraz), kiedy robisz eksport ad hoc, xcode 6 automatycznie skanuje, jeśli istnieje jakikolwiek profil aprowizacji zawierający wszystkie urządzenia zarejestrowane na koncie programisty i jednocześnie pasuje do identyfikatora pakietu . Jeśli nie, użyje profilu prowizyjnego XC. Dlatego jeśli chcesz użyć własnego profilu, na przykład do celów powiadomień push, będziesz musiał wybrać wszystkie urządzenia w swoim profilu w portalu dla programistów Apple. Myślę, że to jest powód, dla którego niektórzy ludzie odtworzyliby profil, a inni nie.
btw, użyj skryptu może eksportować i przesyłać do testflight, ale urządzenie po prostu nie może go pobrać. prawdopodobnie gdzieś się pomyliłem. jeśli ktoś wie, dlaczego tak jest, daj mi znać. tks
źródło
To zadziałało dla mnie:
teraz powinieneś zobaczyć właściwą nazwę profilu informacyjnego.
źródło
Mam obejście tego problemu, które działa dla mnie.
Mam zainstalowane Xcode 6 i Xcode 5.1.1, Xcode 6 jest w aplikacjach, a Xcode 5.1.1 w innym katalogu. Kiedy chcę zrobić kompilację, używam Xcode 6 do tworzenia archiwum. Ale możesz również zobaczyć utworzone archiwum w Xcode 5.1.1, więc używam Xcode 5.1.1 do dystrybucji Ad Hoc .ipa przy użyciu profilu aprowizacji, którego chcę użyć. Więc skompiluj przy użyciu Xcode 6, ale rozpowszechniaj za pomocą Xcode 5.1.1.
źródło
Używanie lokalnych zasobów do podpisywania podczas eksportowania rozwiązało problem:
źródło
Odpowiedź od @MrPatol nie działa dla mnie. Mój scenariusz roboczy dla Xcode 6.3.2
W Centrum członkowskim -> Profile aprowizacji iOS
W narzędziu konfiguracyjnym iPhone'a -> Profile obsługi administracyjnej
W Xcode -> Organizator
źródło
Oto dwa kluczowe punkty, które rozwiązały problem.
Xcode znajdzie następnie prawidłowy profil aprowizacji, dopasowując identyfikator aplikacji do identyfikatora pakietu aplikacji.
źródło
W rzeczywistości musisz utworzyć nowy profil dystrybucji, specyficzny dla wdrożenia ad hoc. Można to znaleźć w klasycznym centrum członkowskim, ale jest to nowy typ certyfikatu.
Następnie możesz wybrać, które urządzenia mogą być używane do testowania aplikacji, tak jak w przypadku profilu programisty.
Nowo utworzony certyfikat będzie dostępny po wyeksportowaniu paczki z Organizatora w zwykły sposób.
Alternatywnie możesz skorzystać z rozwiązania TestFlight dostarczonego przez firmę Apple z systemem iOS 8, aby umożliwić użytkownikowi dostęp do wersji wstępnej.
źródło
Miałem ten sam problem, w końcu rozwiązałem go regenerując profil, którego chciałem użyć w Xcode 6, w tym wszystkie urządzenia, które zarejestrowałem na moim koncie iOS Dev, robiąc to w ten sposób, po wybraniu eksportu pokazuje prawidłowy profil i ja może wykonać eksport Ad Hoc za pomocą Xcode 6 bez użycia skryptu. Mam nadzieję, że to pomoże.
źródło
Utknąłem z tym przez jakiś czas, ale używam Crashlytics rozwiązałem to, kompiluj rozproszone przy użyciu wybranego profilu w ustawieniach kompilacji projektu Xcode.
mam nadzieję, że to komuś pomoże.
źródło
Prawie ten sam problem. Po utworzeniu archiwum do dystrybucji (Produkt> Archiwum) wyeksportuj archiwum (kliknij Eksportuj ...) i wybierz „Zapisz do wdrożenia w przedsiębiorstwie”; następnie „Dalej”. Następnie wybierasz domyślne ustawienie „Zespół deweloperski” (np. Nazwa organizacji) i klikasz „Wybierz”. Na koniec zostanie wyświetlony widok podsumowania, który zawiera również listę profili aprowizacji, które Xcode automatycznie znalazł (być może utworzony w locie) dla Ciebie. MUSI to być zły profil aprowizacji (zwykle profil aprowizacji z symbolem wieloznacznym, np. „XC: *”) i MOŻE się tak dziać, ponieważ w portalu dla programistów istnieje już profil informacyjny z symbolem wieloznacznym.
Użyłem do tego zgłoszenia do pomocy technicznej i otrzymałem tylko ten link z powrotem https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringPushNotifications/ConfiguringPushNotifications.html#//apple_ref/doc/uid/TP40012582 -CH32-SW1 . Niezbyt duża pomoc.
Odkryłem, że rozwiązanie MrPatol działa również w przypadku wdrażania w przedsiębiorstwie i rozwiązuje problem za nas. Najpierw zalogowałem się do portalu dla deweloperów i ręcznie utworzyłem profil aprowizacji, który pasuje do mojej aplikacji. Następnie pobrano i zainstalowano nowy ręcznie utworzony profil informacyjny.
źródło
W xcode 7 nie mogłem wybrać obsługi adhoc za pośrednictwem
Organizator -> Prześlij do App Store i Organizatora -> Zatwierdź
Ale mogłem wybrać przez Organizer -> Eksportuj
Edytowano:
Wgranie aplikacji po wyeksportowaniu z adhoc do sklepu z aplikacjami na potrzeby testFlight spowodowało inny omawiany tutaj problem . Tak więc rozwiązanie obu tych problemów jest jedno. Utwórz obsługę administracyjną AppStore, aby móc ją wybrać za pośrednictwem organizatora i wykorzystać testFlight, przesyłając do Appstore.
źródło
plik optionPlist jest taki,
app-store, enterprise, ad-hoc, development to alternatywa
To problem rubinowy. Wypróbuj ten skrypt powłoki,
xcbuild-safe.sh
Co do diabła
shell_session_update
? Pozwól nam to obejść. Po prostu zdefiniuj funkcję przed prawdziwym cmd xcodebuild, a mianowicie w wierszu 60 lub 61.źródło
Odpowiadając na Twoje konkretne pytanie, nie ma możliwości wybrania profilu informacyjnego, który ma być używany. Co próbujesz zrobić? (tj. na co zezwala profil, który chcesz wybrać, a nie generowany automatycznie?)
źródło