Od wczoraj pojawia się następujący błąd podczas próby uruchomienia aplikacji na moim urządzeniu: „Nie znaleziono prawidłowego profilu udostępniania dla tego pliku wykonywalnego”. To jest po aktualizacji do Xcode 10. Budowanie z Xcode 9 w zeszłym tygodniu działało bez problemów.
Sprawdziłem inne dyskusje na temat błędu, ale żadne z rozwiązań nie działa.
Problem nie ogranicza się do jednego projektu, nad którym pracowałem, ponieważ dotyczy kilku z różnych zespołów podpisujących.
Do tej pory próbowałem:
Projekt czyszczenia
Czyszczenie danych pochodnych
Odinstalowywanie Xcode, usuwanie wszelkich preferencji i związanych z nim plików.
Instalowanie Xcode na zupełnie innym komputerze Mac
Testowanie na różnych urządzeniach
Wyłączenie urządzenia w profilu programisty i ponowne włączenie Xcode.
Usuwanie wszystkich certyfikatów z portalu dla programistów i ich ponowne tworzenie
Odznacz i ponownie zaznacz „Automatycznie zarządzaj podpisywaniem”
Kosz na profil udostępniania i umożliwienie Xcode jego odtworzenia
Tworzenie profilu ręcznego udostępniania w profilu programisty
Projekt nie zawiera testów, więc nie może być problemu z niewłaściwymi ustawieniami podpisywania dla tego celu. Data / godzina jest ustawiona na Automatycznie
Należy zauważyć, że nie ma tutaj żadnych profili obsługi administracyjnej, z wyjątkiem utworzonego przeze mnie podręcznika: https://developer.apple.com/account/ios/profile/
Spodziewałbym się, że wygenerowany kod xcode pojawi się tak, jak w przypadku wszystkich innych klientów.
Poniżej znajdują się ustawienia podpisywania, których obecnie używam
Próbowałem jeszcze obniżyć Xcode do starszej wersji, aby sprawdzić, czy to działa. Poza tym nie mam pojęcia, co dalej.
missing provisioning-profile
.Odpowiedzi:
Walczyłem z tym dzisiaj, to było bardzo frustrujące. Na razie po prostu przejdź do
"File"
>"Project Settings..."
(lub w niektórych przypadkach"Workspace Settings..."
), a następnie wybierz"Legacy Build System"
z"Build System"
menu rozwijanego.źródło
@ Stephen tks to rozwiązało dla mnie. Muszę tylko przejść -> Plik -> WorspaceSettings -> Ustawienia kompilacji (zmień tutaj na „Legacy Build System”)
źródło
[edytuj] Uwaga 2020: Podpisywałem ten projekt ręcznie. W projektach, do których automatycznie się podpisałem, nigdy nie miałem tego problemu. [/edytować]
Miałem ten sam problem i spędziłem godziny na szukaniu odpowiedzi, usuwaniu profili, czyszczeniu projektu i tak dalej.
Czy rozpowszechniłeś swoją aplikację? Musisz wrócić do swojego profilu programisty, ale nie ogólnie w ustawieniach projektu, ale w ustawieniach kompilacji .
W obszarze Podpisywanie spójrz na swoją tożsamość podpisywania kodu .
Upewnij się, że zarówno debugowanie, jak i wydanie są ustawione na programistę iOS , a nie na dystrybucję iOS ; lub Twój profil obsługi administracyjnej iOS, jeśli nie jest ustawiony na wartości automatyczne.
To samo dotyczy profilu obsługi administracyjnej. Powinien to być Twój profil rozwijający się, a nie profil dystrybucji.
Mam nadzieję, że pomoże to przyszłym deweloperom w potrzebie.
źródło
Wypróbowałem wszystkie powyższe rozwiązania.
Jednak w moim przypadku po godzinach bólu głowy było to spowodowane tym, że projekt testowy nie ma ważnego konta do obsługi podpisywania. Po tym, jak wybrałem zespół do zapewnienia w projekcie testowym z automatycznym podpisywaniem zarządzanym. Ten problem zniknął.
źródło
Użyj czystego folderu kompilacji (Command + Shift + K), a aplikacja do przebudowy może wkrótce rozwiązać ten problem. Czas kompilacji wydłuży się jednak po wyczyszczeniu folderu kompilacji.
źródło
Więc nie będzie tak w przypadku wszystkich, ale pomyślałem, że i tak tu opublikuję, ponieważ nie wydaje się, aby były z tym związane żadne odpowiedzi.
W moim przypadku pracowałem nad aplikacją opracowaną w ReactNative, moim problemem było to, że chociaż moje podpisywanie było poprawne w głównym celu aplikacji, w celu testowym nie zastosowano żadnego podpisywania.
Z jakiegoś powodu React Native wymaga, aby zarówno cel aplikacji, jak i cel testowy zostały podpisane, aby zainstalować aplikację na urządzeniu.
Określa to w oficjalnej dokumentacji dotyczącej budowy urządzenia jednak jest to jedyny przypadek, w jakim kiedykolwiek widziałem, w którym cel testowy jest budowany obok aplikacji do celów innych niż testowanie.
Aby podpisać cel testowy, przejdź do ustawień projektu, otwierając nawigator projektu (⌘1) i wybierz projekt u góry.
W głównym edytorze wybierz główny cel aplikacji w obszarze Cele (powinien mieć taką samą nazwę jak twój projekt) i upewnij się, że podpisywanie jest prawidłowe, a następnie wybierz cel testowy (prawdopodobnie tuż pod głównym celem aplikacji, powinna mieć tę samą nazwę z Testami dołączony) i upewnij się, że jest podpisany w ten sam sposób.
Odbuduj aplikację, która powinna się teraz pomyślnie zainstalować.
Podziękowania dla Leo Lei, jego odpowiedź tutaj zaoszczędziła mi dużo bólu głowy: https://stackoverflow.com/a/48657358/732844
Nawiasem mówiąc, jeśli ktoś wie, dlaczego reakcja natywna wymaga zbudowania celu testowego obok celu aplikacji, czy mogłaby mi powiedzieć? Jedynym powodem, dla którego mogę wymyślić, jest usprawnienie interfejsu, tak aby można było zbudować pojedynczą aplikację oraz wykonać zarówno testowanie, jak i uruchamianie bez potrzeby przebudowywania, ale tylko zgaduję.
źródło
W moim przypadku oto kroki, które rozwiązuję problemy:
~/Library/MobileDevice/Provisioning Profiles/
Powodem, dla którego należy wykonać powyższe kroki, jest usunięcie starych profili udostępniania, które pomieszały proces budowania.
źródło
Dla naszego zespołu nic nie pomogło. Spędziliśmy kilka dni i wypróbowaliśmy każdy krok wymieniony powyżej w odpowiedziach i komentarzach. Próbowaliśmy z XCode 10, a nawet XCode 9.2 w aplikacji, która jest w App Store od wielu lat.
Problem zaczął się po aktualizacji do MacOS Mojave. Niestety powrót do HighSierra nie pomógł.
Przynajmniej mogliśmy ponownie wysłać do App Store po utworzeniu nowego certyfikatu i profilu administracyjnego. Ale nadal nie jesteśmy w stanie przetestować naszej aplikacji w trybie wydania na prawdziwym urządzeniu, co jest niezbędne do przetestowania zakupów InApp.
W skrócie: Archiwizacja i przesyłanie działa dobrze, nie działa na prawdziwym urządzeniu!
Kilku programistów, kilka urządzeń, Macbooki, wersje XCode ....
Na koniec musieliśmy zmienić AppID aby móc ponownie testować na prawdziwym urządzeniu.
Dlatego prowadzimy teraz dwa różne projekty: jeden do wysyłki do TestFlight / AppStore z prawdziwym AppID i jeden do celów programistycznych z innym AppID.
Chociaż dzieje się tak tylko w JEDNEJ aplikacji naszej firmy, a nie we wszystkich innych, spodziewamy się, że napotkamy podobne problemy w przyszłości, ponieważ sytuacja ulegnie pogorszeniu dzięki narzędziom programistycznym Apple ...
źródło
Ten problem występował w Xcode 10.3 po przejściu na mój docelowy test jednostkowy XCTest, a następnie z powrotem do docelowego czasu wykonania projektu.
Okazuje się, że dla każdego celu wybrano inne Zespoły w moim profilu informacyjnym.
Naprawić to :
Wyczyść folder kompilacji
Upewnij się, że wszystkie cele mogą korzystać z tego samego zespołu. Zobacz Podpisywanie profili w zakładce ogólnej.
Jeśli nie używasz tego samego Zespołu do wszystkich celów, wyczyść przed przejściem do celu kompilacji za pomocą
wybrano inny zespół.
źródło
Upewnij się, że profil udostępniania pochodzi od tego samego zespołu zarówno w celu, jak i w testach target.
źródło
W moim przypadku data i godzina urządzenia zostały ustawione na datę przyszłą. Zmiana ustawienia daty na „automatyczną” rozwiązała problem.
źródło
Walczyłem z tym samym problemem, a rozwiązaniem w moim przypadku było zalogowanie się na konta programistów. Po aktualizacji do Xcode 10 wszystkie konta zostały wylogowane.
Użyj menu „Xcode -> Preferencje ... -> Konta” i upewnij się, że wszystkie używane konta są zalogowane, aby profile udostępniania były dostępne.
źródło
Wykonałem wszystkie powyższe kroki, ale w końcu to nie działa. Zostałem utworzony zduplikowany cel i działa dobrze. Nie mam pojęcia, co jest nie tak, może problem z pamięcią podręczną
źródło
Czy może zmieniłeś swoje rozwijające się urządzenie? Zdarzyło mi się, kiedy kupiłem nowy iPhone i nadałem mu tę samą nazwę w moim poprzednim urządzeniu. Jednak czysta wersja rozwiązała problem.
źródło
Zajmuje to dużo czasu, a my zrobiliśmy wszystkie powyższe rozwiązania i one w ogóle nie działały, więc nasz zespół postanowił usunąć
Pod
pliki i uruchomićpod install
ponownie. wreszcie nasza przesłana przez OTA ipa zainstalowana na urządzeniu użytkownika. najlepsze rozwiązanieczysty
project menu > Product > Clean Build Folder
i/Users/{you user name}/Library/Developer/Xcode/DerivedData
przejdź do katalogu projektu i usuń
Podfile.lock
,Pods
folderpod_***.framework
biegać
pod install
jeszcze razGotowe
źródło
Miałem przypadek, w którym moja aplikacja byłaby wdrażana na moim iPhonie, ale nie na moim zegarku. Wdrożenie na zegarku dałoby komunikat „Nie znaleziono prawidłowego profilu udostępniania dla tego pliku wykonywalnego”. błąd. Dotyczy to wersji XCode 11.2.1 i bezpłatnego konta programisty.
Oto, co zrobiłem, aby zainstalować go na moim zegarku:
1) Usunąłem swój profil udostępniania w XCode. Zrobiłem to, przechodząc do Window -> Devices And Simulators. Następnie kliknij prawym przyciskiem myszy nazwę iPhone'a i wybierz „Pokaż profile udostępniania”. Stamtąd mógłbym usunąć plik
2) Na ekranie Urządzenia i symulatory usunąłem również moją aplikację z sekcji „Zainstalowane aplikacje”.
3) Czy „czysty folder kompilacji” (Produkt -> Wyczyść folder kompilacji)
4) W „Ustawieniach kompilacji” -> „Podpisywanie” upewniłem się, że każdy cel (iPhone, testy i zegarek) ma takie same ustawienia (zespół programistów, styl podpisywania kodu, profil udostępniania ustawiony na automatyczny itp.).
5) Upewnij się, że katalog ~ / Library / MobileDevice / Provisioning Profiles jest pusty.
6) Odłącz telefon od komputera
7) Uruchomiono ponownie komputer, telefon i zegarek
8) Podłącz telefon z powrotem do komputera i przeszedł przez monit „zaufaj temu urządzeniu” w telefonie i zegarku.
9) Ran app. Zadziałało!
źródło
Dzisiaj miałem ten sam błąd podczas instalowania aplikacji na moim urządzeniu. Problem wystąpił po aktualizacji do nowego xCode 11.4.
Co zrobiłem, aby rozwiązać problem:
źródło
W moim przypadku, gdy nic innego nie pomogło, zrobiłem następujące:
Wcześniej wypróbowałem każdy krok, o którym tu wspomniano. Ale tylko to pomogło.
źródło
Nawet dla mnie certyfikat dystrybucji i profil udostępniania były dostępne dla Xcode, wybranie opcji Automatyczne zarządzanie podpisywaniem podczas procesu dystrybucji spowodowało, że zawiodło. Zrobiłem następujące. Jak wspomniano wcześniej, utworzyłem nowy certyfikat dystrybucji i profil udostępniania, a następnie podczas procesu dystrybucji ręcznie wybrałem certyfikat i profil udostępniania i Voilaaaa. Upewnij się także, że korzystam z najnowszej wersji 10.1.
źródło
Wygląda na to, że Apple naprawił ten błąd w Xcode 10.2 beta 2 Release.
https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_beta_2_release_notes
Xcode 10.2 beta 2 Release można pobrać tutaj: https://developer.apple.com/download/
źródło
Musisz tylko zmienić swój zespół. W moim przypadku to zadziałało
źródło
Po tym, jak zmęczyłem większość rozwiązań, znalazłem, co sprawia, że działa bez żadnego problemu. Zostało rozwiązane, przejdź do
developer.apple.com
tegoaccount
czasuCertificates, identifiers & profiles
i klikamAll
link podDevices
a następnie dodaj nowe urządzenie.następnie musisz ustawić nazwę urządzenia i identyfikator użytkownika, a po zapisaniu. Przejdź do xcode i wyczyść pamięć podręczną, skompiluj i wszystko działa poprawnie.
Uwaga 1: upewnij się, że twój zespół ma prawdę.
Uwaga 2: Możesz uzyskać identyfikator UUID, podłączając urządzenie do urządzenia Mac, kliknij iTunes i naciśnij etykietę bezpieczeństwa, zobaczysz UUID.
Która ta odpowiedź jest również pomocna.
źródło
Próbowałem wszystkich powyższych odpowiedzi i nie miałem szczęścia. Następnie ponownie uruchamiam iPhone'a i problem wydaje się zniknąć. Wiem, że to takie głupie, ale zadziałało. Powyższe odpowiedzi najprawdopodobniej rozwiązują problem, ale jeśli nie, spróbuj ponownie uruchomić urządzenie iOS.
źródło
Upewnij się, że:
1) Posiadaj zarejestrowany profil udostępniania dla swojego urządzenia.
2) Urządzenie należy dodać do profilu programistycznego i zaktualizować.
Jeśli nadal masz problemy, sprawdź ustawienia kompilacji celu.
Upewnij się, że:
1)
CODE_SIGNING_REQUIRED
wUser-Defined
ustawiono wartośćYES
.2) Sprawdź, czy
Signing
opcje są prawidłowe. Jeśli problem będzie się powtarzał, przełącz się na Ustawienia ręczne zamiast automatycznie.źródło
Napotkał ten sam problem, mieliśmy wiele konfiguracji w projekcie Xcode, powiedzmy Powiedzmy
Debug-Staging
,Debug-Production
. Następnie ujednoliciliśmy je i użyliśmy tylko jednej konfiguracjiDebug
. Ale stary (już nieistniejący) utknął w schemacie fazy uruchamiania, więc gdy próbowałeś uruchomić, Xcode pokazał ci ten komunikat. Ma to sens, ponieważ profile udostępniania są konfigurowane w ustawieniach kompilacji na podstawie konfiguracji.Więc uruchom schemat wyglądał tak:
Podczas gdy konfiguracje projektu były konfigurowane w ten sposób.
To, co naprawiło ten problem, to zmiana schematu na używanie konfiguracji, która jest nadal dostępna w projekcie.
źródło
Miałem ten sam problem (XCode 11) i nic nie działało tak, jak tu napisano.
Mój problem polegał na tym, że miałem iOS Beta (13.3) na moim telefonie. Po cofnięciu wszystko znów działało dobrze.
Pomysł: może urządzenie buforuje również niektóre informacje o profilu obsługi, więc przywrócenie ustawień fabrycznych telefonu może to naprawić?
źródło
Dla mnie zadziałało usunięcie zdolności, a następnie dodanie jej z powrotem.
źródło
Zrobiłem następujące:
To bardzo dziwne, ale dla mnie zadziałało, może działać dla innych i uratować frustrację.
źródło
W końcu zorientowałem się, co się dzieje ... prawie zajęło mi to 2 godziny
Mój przypadek jest taki, że data mojego telefonu jest nieprawidłowa. Zapomniałem, że zmieniłem datę mojego telefonu. Wydaje mi się, że to powoduje, że wszystkie moje profile udostępniania wygasły ...
Więc jeśli wypróbowałeś wszystkie te odpowiedzi, ale nic nie działa. Przejdź do USTAWIEŃ, sprawdź datę swojego telefonu.
źródło