Instalacja powiodła się, ale nie można znaleźć aplikacji na urządzeniu

81

Xcode dał mi tę wiadomość:

Nie można zlokalizować zainstalowanej aplikacji. Instalacja, rzekomo powiodła się, ale nie można znaleźć aplikacji na urządzeniu. bundleId = (null)

Właśnie zacząłem używać strąków.

Jak to naprawić?

LucasKarlsson
źródło
2
W ciągu ostatniego miesiąca otrzymaliśmy wiele raportów na ten temat w postaci radarów. Żaden z raportów nie zawierał diagnozy sys z hosta ani urządzenia. Wysłałem ich wszystkich z powrotem, aby uzyskać dane od twórców, ale jak dotąd nikt nie dostarczył danych umożliwiających zbadanie błędu. Czy możesz przesłać radar (użyj Asystenta opinii lub goto bugreport.apple.com) i dołączyć diagnozę sysdiagnoz zarówno z urządzenia, jak i hosta Mac? Dzięki.
Jeremy Huddleston Sequoia
1
Z poniższych odpowiedzi wynika, że ​​są to problemy w instalowanych aplikacjach, a problem polega na tym, że Xcode myśli, że aplikacja została zainstalowana, gdy w rzeczywistości nie udało się jej zainstalować. Rzeczywiście, istnieje znacznie lepsze raportowanie błędów podczas celowania w symulator, więc sugeruję zrobienie tego, aby odkryć rzeczywisty problem. Nadal jestem zainteresowany wyjaśnieniem, dlaczego urządzenie nie zgłosiło problemu z instalacją, więc prosimy o przesłanie radaru z diagnozami sys. Dzięki.
Jeremy Huddleston Sequoia
1
Proszę podać numer FBA. Dzięki. Upewnij się, że obejmuje on diagnostykę sys z urządzenia i istniejącego komputera Mac.
Jeremy Huddleston Sequoia
2
Natknąłem się również na to w aplikacji React Native, którą utrzymuję. Udało mi się pomyślnie zainstalować aplikację na symulatorze, ale ten błąd pojawia się za każdym razem, gdy próbuję uruchomić na urządzeniu.
Steve Gattuso
2
Nadal nie otrzymałem żadnego radaru na ten temat, który zawiera diagnozę urządzenia i systemu hosta. Prosimy o przesłanie radaru (lub umieszczenie tych danych w plikach radarów).
Jeremy Huddleston Sequoia

Odpowiedzi:

61

Napotkałem ten sam problem podczas testowania aplikacji Cordova na iOS 13 za pośrednictwem XCode 11 Beta 4. Kompilowanie za pomocą starszego systemu rozwiązało go (Plik> Ustawienia obszaru roboczego ...> Buduj system> Legacy Build System).

Mam nadzieję, że to pomoże

rguerin
źródło
7
Znalazłem to w Plik> Ustawienia projektu ...> Ustawienia projektu współdzielonego:> System budowania
markdon
1
To zadziałało dla mnie. Chociaż już wiedziałem, że jest to rzecz, o której zupełnie zapomniałem, ponieważ Xcode 11 obsługuje teraz błędy inaczej. Rozumiem przez to, że błąd jest inny niż wcześniej w tym samym problemie.
Victor Ramos
3
To nie zadziałało dla mnie. W obu przypadkach pojawia się ten sam błąd.
Saad Qureshi
Dla mnie to też nie zadziałało. Używam Xcode 11 pod macOS 10.14.6, buduję do celu iOS 10.0 i próbuję zainstalować na urządzeniu z iOS 10.3.4.
eldes
28

Rozwiązałem ten problem, wykonując typowe kroki w projekcie:

  • Produkt -> Wyczyść.
  • Okno -> Projekty -> Wybierz swój projekt i usuń dane pochodne.
  • Zamknij XCode.
  • Otwórz ponownie projekt.
Bisca
źródło
17

To jest problem z podpisywaniem kodu. Xcode 11 wymaga dodania certyfikatu „Apple Development” do profilu informacyjnego programowania, który został automatycznie dodany do certyfikatów i profili. Dodaj ten certyfikat do swojego profilu, ponownie pobierz swój profil programistyczny i vwala.

Justin Haar
źródło
Dotyczy to Xcode 11. Musiałem edytować mój profil deweloperski na ( developer.apple.com ) i dodać certyfikaty do użytku w Xcode 11 lub nowszym
wael
1
Wszystkie powyższe rozwiązania nie sprawdziły się dla mnie. To jedyne rozwiązanie, które u mnie zadziałało. Dzięki @Justin Haar
gstream79
U mnie pomogło ponownie wybrać "Automatycznie zarządzaj podpisywaniem" i xcode dodał dodatkowo certyfikat programisty do certyfikatu dystrybucyjnego
randomcontrol
15

W Xcode 11 beta 5 miałem ten sam błąd. Nie udało mi się zainstalować aplikacji. Przesłałem nawet aplikację do App Store Connect, a następnie próbowałem zainstalować za pomocą TestFlight, ale aplikacja nie została zainstalowana po pobraniu, bardzo dziwne. Brak błędu w App Store Connect. Znalazłem problem, uruchamiając aplikację z symulatorem. Po uruchomieniu aplikacji na symulatorze Xcode podał mi szczegółowy komunikat o błędzie. W moim przypadku miałem wiele platform z tymi samymi identyfikatorami pakietów.

Adrian Labbé
źródło
3
To samo dotyczy mnie, pracując nad intencjami SiriKit . Z jakiegoś powodu to się zdarza, gdy zmieniasz .intentdefinitionplik, dodaje on wszystkie BundleID do wszystkich plików Info.plist rozszerzenia. Tylko sprawdzenie, czy każdy z nich pojawia się tylko jeden rozwiązać go dla mnie ...
thisIsTheFoxe
2
@thisIsTheFoxe Jak sprawdziłeś obecność wielu identyfikatorów pakietów na liście informacyjnej rozszerzenia? Ja też mam ten sam problem w zamiarach Sirikit.
Aravind Mariappan
Mój problem dotyczył również zamiarów SiriKit (Xcode 11 beta 7). Uruchomienie go w symulatorze dał dokładny błąd: „Intencje Siri w aplikacji WatchKit nie są podzbiorem intencji Siri w aplikacji towarzyszącej com”.
Mithil Jadhav
12

Miałem dokładnie ten sam błąd, ale żadne z powyższych rozwiązań nie zadziałało.

W moim przypadku korzystam z bezpłatnego konta programisty Apple i otrzymałem ten błąd po próbie zainstalowania czwartej aplikacji. Limit instalacji dla darmowych kont wynosi 3. Usunąłem jedną z 3 aplikacji, które już miałem, i instalacja przebiegła zgodnie z oczekiwaniami.

Kamar Mack
źródło
WOW to była przyczyna mojego problemu. Tak głupie ... Usunąłem 1 aplikację z mojego telefonu i zainstalowałem ją.
Danny Brown
9

Mam ten sam błąd:

Nie można zlokalizować zainstalowanej aplikacji. Instalacja, rzekomo powiodła się, ale nie można znaleźć aplikacji na urządzeniu. bundleId = (MY_BUNDLE_ID) "ale z MY_BUNDLE_ID zamiast" null

Otrzymałem ten błąd po aktualizacji Xcode11

Rozwiązanie:

Mój projekt i ProjectTests miały inny zespół programistów. Projekt miał zespół właściciela, ProjectTests miał zespół osobisty

I nie miałem okazji zmienić zespołu na właściciela przez interfejs Xcode. Robię to w ustawieniach kompilacji - właśnie wszedłem do mojego zespołu (włączono również automatyzację zarządzania certyfikatami).

Tak, jego wygląd jest błędem w interfejsie użytkownika Xcode (czerwona etykieta), ale można go było zainstalować na prawdziwych urządzeniach.

Pavel Nikolaev
źródło
Wreszcie. Spędziłem cały dzień próbując to naprawić i to jest odpowiedź, która mi pomogła!
Niebieski
8

W moim przypadku korzystałem z materiału siewnego Xcode 11 GM z iOS 13 beta i miałem podpisywanie kodu do ręcznego (dystrybucji), ponieważ „Automatyczne” zawodziło. Poprosiłem mojego agenta zespołu, aby zezwolił mojemu użytkownikowi na rolę „Administratora”, wszedłem do portalu Apple Developera i wyedytowałem „nieprawidłowe” profile obsługi administracyjnej, aby zaznaczyć pole wyboru wyraźnie wspominające o „Xcode 11”. Po pobraniu profilu mój agent zespołu zmienił moją rolę na „członka” i wszystko poszło dobrze.

Sasho
źródło
1
Dałeś mi dobry impuls we właściwym kierunku. Wszystko, co musiałem zrobić, to
włączyć
8

Xcode 11 (11A420A)

Napotkałem podobny problem, wypróbowałem wszystkie powyższe rozwiązania (np. Przejście na legacy, clean and build itp.) ... ale ostatecznie rozwiązanie było z użyciem zewnętrznego frameworka, rozwiązałem to zmieniając opcję na Embed & Podpisz z osadzenia bez podpisu … Nie jestem pewien, czy może to być problem z Xcode

Kedar Sukerkar
źródło
6

ROZWIĄZANIE DO PRACY W KASIE

  1. Idź do Project General-> Frameworks, Libraries, and Embedded Contenti zmień framework, ponieważ Do Not Embed(w moim przypadku problemem był Alamofire.framework )

wprowadź opis obrazu tutaj

  1. Idź do Build Phases, wybierz + New Run Scrip Phase, wstaw /usr/local/bin/carthage copy-frameworksdo powłoki skryptu i do Input filesdodania$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework

wprowadź opis obrazu tutaj

Teraz powinno działać 🥳

Senocico Stelian
źródło
5

Rozwiązałem problem, zaznaczając opcję „Automatycznie zarządzaj podpisywaniem” na ekranie „Podpisywanie i możliwości”.

Żadne z innych wymienionych tutaj rozwiązań nie działało dla mnie.

Elegya
źródło
4

Przydarzyło mi się to niedawno, kiedy zaktualizowałem do Xcode 11; jeśli testujesz na urządzeniu, przejdź do „Ustawień kompilacji”, a następnie zmień wszystko na „Programista iOS” w sekcji „Tożsamość podpisywania kodu”. To POWINNO rozwiązać problem. Następnie, gdy będziesz gotowy do uruchomienia, upewnij się, że masz skonfigurowaną dystrybucję iOS.

LandonHughesDeveloper
źródło
3

W moim przypadku był to problem z podpisywaniem kodu (używam ręcznego podpisywania kodu). Musiałem przełączyć się z iOS Distributionna iOS Developerdla Any iOS SDKklucza:

Problem z podpisem kodu

a także wybierz odpowiedni profil obsługi deweloperskiej.

Xcode 11

Andrey Gordeev
źródło
Mężczyzna! Ratujesz życie! Dzięki :)
iHarshil
3

Napotkałem ten sam problem, a mój kod nie zawierał żadnego z problemów wymienionych w innych odpowiedziach (struktury używające tych samych identyfikatorów pakietów, starszy system itp.).

Moim rozwiązaniem było zainstalowanie aplikacji najpierw jako ładowanie boczne, a następnie uruchomienie aplikacji w normalny sposób (Cmd + R).

Najpierw utwórz IPA swojego projektu (jest na to wiele sposobów, zrobiłem to przez skompresowanie folderu o nazwie Payload z plikiem aplikacji. Możesz wybrać inne sposoby, wszystko czego potrzebujesz to plik IPA).

Następnie otwórz urządzenia i symulatory (Cmd + Shift + 2) w Xcode.

wprowadź opis obrazu tutaj

Teraz kliknij mały przycisk plusa (+) w sekcji ZAINSTALOWANE APLIKACJE, a zostaniesz poproszony o wybranie IPA. Wybierz swój adres IPA, a zostanie on zainstalowany na urządzeniu.

Teraz, gdy aplikacja o podanym identyfikatorze pakietu istnieje na urządzeniu, Twoja komenda uruchamiania będzie działać zgodnie z oczekiwaniami.

Po prostu naciśnij Cmd + R, a Twój projekt zostanie uruchomiony na urządzeniu.

Pallav Trivedi
źródło
3

W moim przypadku problem został znaleziony przy użyciu dziennika konsoli podczas przeglądania dzienników. W chmurze widzę błąd z installdprocesu informujący, że coś jest nie tak z moim plist.infoplikiem. Nie powiedział, co dokładnie, ale naprawienie mojego pliku plist rozwiązało problem. W moim przypadku miałem 3 pliki plist (rozszerzenie iPhone'a, zegarka i zegarka), problemem był mój watch plist.infoplik (dodałem NSLocationAlwaysUsageDescriptionprzypadkowo, usunięcie tego rozwiązało problem).

benchuk
źródło
Pomogło mi to znaleźć problematyczne ramy. Znaleziono wpis w konsoli tam, gdzie jest installdwydrukowany Failed to verify code signature of .../raygun4apple.framework : 0xe8008015 (A valid provisioning profile for this executable was not found.). Po wybraniu opcji „Umieść i podpisz” dla raygun4apple wszystko działało świetnie.
uson1x
1
Miałem podobny problem, ale w mojej Info.plist w moim rozszerzeniu WatchKit brakowało CFBundleVersionciągu. Z jakiegoś powodu był pusty. Znalazłem rzeczywisty błąd w dziennikach konsoli z samego iPhone'a. Ale Xcode 11 po prostu wypluwał, że nie może znaleźć aplikacji po wielu próbach.
Dotknij Formularzy
1
To był mój problem, przypadkowo dodałem klucz do zegarka info.plist. Dzięki benchuk.
Danfordham,
2

W przypadku IOS 13 podczas instalacji aplikacji z Xcode-beta jedyną rzeczą, która działała, było ponowne uruchomienie telefonu podłączonego do komputera

Peter Shaburov
źródło
2

Naprawiono moje. Zostało spowodowane tym, że framework Alamofire (przez Carthage) nie był kopiowany podczas fazy kompilacji (wcześniej znajdował się w sekcji Biblioteki osadzone w Xcode, ale teraz zniknął i wybór typu osadzania nie działał).

Treść skryptu to: /usr/local/bin/carthage copy-frameworks Ścieżki $(SRCROOT)/Carthage/Build/iOS/Alamofire.frameworkdo plików wejściowych i$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Alamofire.framework wyjściowych.

Mam nadzieję, że to pomoże lub pozwoli Ci znaleźć rozwiązanie.

Daniil Korotin
źródło
2

Widziałem ten błąd przy wybranym profilu udostępniania / certyfikacie podpisywania „Dystrybucja iPhone'a” - zniknął po przełączeniu na „iPhone Developer”

Rob Hogan
źródło
2

Wreszcie znalazłem rozwiązanie (przynajmniej dla mnie)

Miałem do czynienia z tym problemem (który pojawia się znikąd) i może jest to jakiś problem z certyfikatem Dev / Production. Mam konfigurację ręczną dotyczącą „podpisywania i możliwości”, więc po przełączeniu się na tryb automatyczny po prostu napraw problem. (Przepraszam za mój zły język angielski)

Asccort
źródło
2

Spróbuj tego, to rozwiązanie działa dla mnie. Włącz opcję Kopiuj tylko podczas instalacji w obszarze Osadź rozszerzenia aplikacji w ustawieniach kierowania BUILD Phases.

Najpierw spróbuj uruchomić aplikację na symulatorze, co spowoduje również błąd w symulatorach.

wprowadź opis obrazu tutaj

Anshul Jain
źródło
1

Napotkałem ten problem i zauważyłem w dzienniku:

-[MIBundle pluginKitBundlesSkippingPlatformValidation:withError:]: Ignoring plugin at (path to my app extension) because it doesn't work on this OS version

Zaktualizowanie wersji docelowej wdrożenia w ustawieniach kompilacji dla mojego rozszerzenia rozwiązało ten problem.

masty
źródło
1

Dla mnie problem dotyczył biblioteki Alamofire, która została pobrana wraz z Kartaginą. Upewnij się, że wybrałeś „Nie osadzaj” i pozwól Carthage skopiować bibliotekę.

samuperry
źródło
Gdzie wybrać, a nie osadzać?
Nirav Patel
1

Próbowałem prawie każdej odpowiedzi na to pytanie, zanim zauważyłem, że benchuk użył konsoli, aby dowiedzieć się, dlaczego miał problem.

Rzuciłem okiem na konsolę, wyszukując installdi stwierdziłem, że „gruby” framework, który dodałem do mojego projektu, jest faktycznie podpisany.

Podpis nie pasował do reszty aplikacji, co spowodowało ciche niepowodzenie instalacji.

Wiedząc, co jest nie tak, mogłem po prostu usunąć podpis:

codesign --remove-signature Some.framework

CodeReaper
źródło
1

To spowodowało mój projekt z powodu rozszerzenia Siri. W „Fazach kompilacji” „Osadź rozszerzenie aplikacji” usuń kompilację xxxSiriExtension.appex i dodaj ją ponownie. To rozwiązane w moim projekcie

codaman
źródło
1

Ten problem został rozwiązany w Xcode 11.2 . W przypadku Xcode 11.2 powinieneś teraz otrzymać błąd wskazujący, że aplikacja nie została zainstalowana, a nie błąd wskazujący, że została zainstalowana, ale nie udało się ją uruchomić. Błąd powinien również zawierać szczegóły dotyczące przyczyny niepowodzenia instalacji. Jeśli szczegóły są niewystarczające, sugeruję celowanie w urządzenie symulujące zamiast w prawdziwe urządzenie, ponieważ powinno to spowodować wyższy błąd wierności.

Jeremy Huddleston Sequoia
źródło
1

Dzieje się tak, gdy próbujesz uruchomić aplikację na urządzeniu przy użyciu profili aprowizacji dla App Store. Upewnij się, że korzystasz z profili deweloperskich lub Adhoc.

Innym powodem może być uruchomienie skryptu do usuwania architektury do generowania IPA. Sprawdź, czy to generuje jakieś błędy.

Ankit J
źródło
0

O dziwo, zmiana nazwy folderu głównego mojego projektu na coś innego załatwiła mi sprawę. Prawdopodobnie przyczyną było buforowanie gdzieś xcode z istniejącą nazwą folderu.

coolVick
źródło
2
wygląda na to, że może to być problem z danymi pochodnymi, najlepiej usunąć dane pochodne zamiast zmieniać nazwę projektu
Quinn
0

Miałem ten sam problem, gdy pracowałem nad rozszerzeniem udostępniania. Żadne z proponowanych tutaj rozwiązań nie zadziałało.

Zależy mi na debugowaniu i logowaniu. Nie mogłem debugować i / lub zalogować się. Na początku myślałem, że rozszerzenie nie działa, ale przeprowadziłem test i zweryfikowałem, że faktycznie się wykonuje, ale z jakiegoś powodu nie mogłem debugować ani zalogować się.

Najlepsze, co udało mi się wymyślić, to ręczne dołączenie debugera, dodanie punktów przerwania, w których chciałem się zalogować, edytowanie punktów przerwania i dodanie akcji do logowania i kontynuowania po ocenie. Oto kroki, aby to zrobić:

  1. Ustaw aktywny schemat na żądane rozszerzenie (z górnego paska lub z Product/Scheme/Choose-Your-Scheme
  2. Debug/Attach to Process by ID or Name.... Następnie wpisz nazwę rozszerzenia lub jego identyfikator pakietu.
  3. Dodaj punkty przerwania, w których chcesz dodać dzienniki. Edytuj punkt przerwania. Dodaj akcję (komunikat dziennika) i wprowadź żądany dziennik. Sprawdź Automatically continue after evaluating the actions.

Tutaj możesz znaleźć moje pytanie bez odpowiedzi.

żartowniś
źródło
0

Naprawiłem moje, przechodząc do Ustawienia kompilacji> Tożsamość podpisywania kodu> Debugowanie. Upewnij się, że masz odpowiedni „certyfikat deweloperski”.

Jezreel Gaudia
źródło
0

u góry okna Xcode, obok opcji uruchom / zatrzymaj, kliknij ikonę aplikacji i wybierz zarządzanie schematami. Upewnij się, że uruchamianie i testowanie używa konfiguracji kompilacji „Debuguj”. Xcode zmienił je na „wydanie”. Nie pytaj mnie dlaczego! Korzystanie z Xcode v 11 (11A420A)

mochasoft
źródło
0

Dla mnie było to, że miałem skrypt fazy budowy, który miał na celu usunięcie architektur symulatora z aplikacji (na czas publikacji w App Store).

Przeczytałem sugestię, że budowanie dla symulatora dałoby lepsze szczegóły błędów i odkryłem, że skrypt działa na każdej kompilacji, więc przełączyłem go na „uruchamiaj skrypt tylko podczas instalacji” i wydaje się, że rozwiązało to problem.

CMash
źródło