Xcode 11.2 - Nie można zainstalować pliku aplikacji na urządzeniu?

29

Niedawno zaktualizowałem system operacyjny do Catalina i zaktualizowałem Xcode do 11.2. Odkąd to robię, kiedy próbuję uruchomić wersję aplikacji na moim urządzeniu, po prostu pojawia się błąd:

Nie można zainstalować aplikacji.

Kiedy stukam „szczegóły”, zapewnia mi to:

Instalacja aplikacji nie powiodła się Domena: com.apple.dtdevicekit Kod: -402620395 Przyczyna niepowodzenia: Nie znaleziono prawidłowego profilu udostępniania dla tego pliku wykonywalnego.

Informacje o użytkowniku: {DVTRadarComponentKey = 487927; "com.apple.dtdevicekit.stacktrace" = (0 DTDeviceKitBase 0x000000011baff6e7 DTDKCreateNSError + 109 1 DTDeviceKitBase
0x000000011baffde9 DTDK_AMDErrorToNSError + 792 2 DTDeviceKitBase
0x000000011bb3f56a 90- [DTDKMobileDeviceToken installApplicationBundleAtPath: withOptions: andError: withCallback:] _ block_invoke + 164 3 DVTFoundation 0x000000010356f156 DVTInvokeWithStrongOwnership + 73 4 DTDeviceKitBase
0x000000011bb3f301 - [DTDKMobileDeviceToken installApplicationBundleAtPath: withOptions: andError: withCallback:] + 1589 5 IDEiOSSupportCore 0x000000011b9c7a25 __118- [DVTiOSDevice (DVTiPhoneApplicationInstallation) processAppInstallSet: appUninstallSet: InstallOptions: completionBlock:] _ block_invoke.352 + 4523 6 DVTFoundation 0x00000001036a03ba __DVT_CALLING_CLIENT_BLOCK
+ 7 7 DVTFoundation 0x00000001036a1a92 __DVTDispatchAsync_block_invoke + 809 8
libdispatch.dylib 0x00007fff68220583 _dispatch_call_block_and_release + 12 9 libdispatch.dylib 0x00007fff6822150e _dispatch_client_callout + 8 10 libdispatch.dylib 0x00007fff68226ace _dispatch_lane_serial_drain + 597 11 libdispatch.dylib 0x00007fff68227452 _dispatch_lane_invoke + 363 12 libdispatch.dylib 0x00007fff68230a9e _dispatch_workloop_worker_thread + 598 13 libsystem_pthread.dylib 0x00007fff6847a71b _pthread_wqthread + 290 14 libsystem_pthread. dylib 0x00007fff6847a57b start_wqthread + 15); }

Moje profile udostępniania są w 100% poprawne, podobnie jak moje certyfikaty. Nie mam pojęcia, dlaczego tak się dzieje, i próbowałem absolutnie wszystko, aby zainstalować / uruchomić. Próbowałem:

  • Dokładnie sprawdź, czy „Schemat” został sprawdzony w zakładce „Uruchom”
  • Potwierdzono, że wybrano prawidłowy profil udostępniania
  • Usuwanie aplikacji z mojego urządzenia
  • Tworzenie nowych profili udostępniania
  • Zmiana mojego identyfikatora pakietu
  • Tworzenie nowych certyfikatów
  • Czyszczenie folderu kompilacji, restartowanie Xcode
  • Ponowna instalacja Xcode
  • Usuwanie folderu danych pochodnych

Żaden z powyższych nie działał. Byłem w tym już od 2 dni - pomoc jest mile widziana. Jedynym sposobem, w jaki mogę pomyślnie zainstalować plik aplikacji na moim urządzeniu, jest przesłanie go najpierw do TestFlight (czego nie mogę zrobić za każdym razem, gdy chcę przetestować niewielką zmianę).

Bretania
źródło
Czy udało Ci się to zweryfikować za pomocą drugiego urządzenia?
CodeBender
Tak, próbowałem zainstalować aplikację na 2 różnych urządzeniach, za każdym razem ten sam błąd. @CodeBender
Bretania
1
Wspomniałeś, że niedawno zaktualizowałeś do wersji 11.2, czy to jest pierwszy raz, kiedy budujesz z Xcode 11.x? W przypadku profili dystrybucyjnych w witrynie programisty Apple dostępna jest nowa opcja specyficzna dla Xcode 11 i korzystasz z niej?
CodeBender,
1
Również w menu Plik> Ustawienia obszaru roboczego w „Kompilacji systemu”, co wybrałeś?
shim
1
Doprowadza mnie to do szału! Nadal mam ten problem i żadne z rozwiązań tutaj go nie rozwiązało. Czy są jeszcze jakieś pomysły?
Georg,

Odpowiedzi:

19

Przejdź do Plik -> Ustawienia obszaru roboczego i upewnij się, że system kompilacji jest ustawiony na starszy system kompilacji.

Natknąłem się na ten sam problem na Catalinie i Xcode 11.2 i to rozwiązało dla mnie.

Począwszy od Xcode 11 Apple zaczyna wymuszać niektóre z kryteriów kompilacji, które wcześniej były wymagane tylko w przypadku kompilacji AppStore podczas ekstrakcji .ipa i kompilacji urządzeń.

Do tej pory spotkałem:

  • Wymaganie powyższego starszego ustawienia systemu kompilacji dla wdrożeń urządzeń dla starszych projektów lub projektów, które używają starszych frameworków
  • Usuwanie nieużywanych architektur w celu wyodrębnienia IPA z archiwum
Lean van Heerden
źródło
Prawdopodobnie ten sam problem - widząc nieco inny błąd, ale żadne rozwiązanie tutaj go nie rozwiązało. Plik wykonywalny został podpisany przy użyciu niepoprawnych uprawnień. Domena: com.apple.dtdevicekit Kod: -402620394 Przyczyna niepowodzenia: uprawnienia określone w pliku uprawnień do podpisywania kodu aplikacji są niepoprawne, niedozwolone lub niezgodne z uprawnieniami określonymi w profilu udostępniania. (0xE8008016).
drewster
2
@drewster Miałem również ten sam błąd i był on związany z nieużywanymi architekturami w kompilacji. Czasami ramy określają architektury x86 ponad architekturami ramienia. Uruchomienie skryptu określonego w tym artykule SO rozwiązało problem.
Lean van Heerden
2
Przejście na starszy system kompilacji niestety nie działało: /
Bretania
1
Spędziłem na tym godziny. Dodałem projekt w obszarze roboczym, który wygenerował środowisko, które utworzyłem jako cel. Następnie osadziłem / połączyłem główny projekt w obszarze roboczym z tym projektem ramowym. Korzystając z nowego systemu kompilacji w wersji 11.2.1 GM, eksport do IN HOUSE pokazywałby wtedy „Nie można zainstalować ...” na nadzorowanym urządzeniu. Czytając ten post, przełączyłem się na Legacy Build System. To, co zrobiono, to pokaż BŁĘDY !!! mówiąc mi, że lipo nie może usunąć złej architektury podczas archiwizacji. To wskazywało na właściwy kierunek, a następnie naprawiłem szkielet, który nie był poprawnie budowany. DZIĘKUJEMY ZA PRAWO!
zumzum,
W moim przypadku przejście na dziedzictwo nie rozwiązało tego. Było to spowodowane zmianą profilu udostępniania. Skończyłem usuwanie aplikacji z urządzenia, a następnie instalacja zakończyła się powodzeniem.
Konstantinos
8

Oto, co działa dla mnie:

  1. Usuń aplikację i profil z urządzenia
  2. Zainstaluj je ponownie.
Govani Dhruv Vijaykumar
źródło
Klasyczne rozwiązanie :)
Arthur Shkil
W obliczu tego problemu wielokrotnie w Xcode 11.3 jest to najszybsze i najprostsze rozwiązanie.
kientux
5

Użyj opcji Automatycznie zarządzaj podpisywaniem

Rozwiąż ten problem.

zaznaczone automatyczne podpisywanie

acoder
źródło
5

Dla mnie wynika to z Dynamic Frameworks, które dodałem do aplikacji. Początkowo wybrałem opcję (Osadź + nie podpisuj) dla ram dynamicznych.

Zmiana na (Osadź i podpisz) dla takich ram rozwiązała problem dla mnie.

wprowadź opis zdjęcia tutaj

Vittal Pai
źródło
Właśnie dodał zewnętrzne ramy z „Osadź bez znaku”, miał ten sam problem. Zmieniono na Embed & Sign - dobra robota!
malex
3

Udaje mi się rozwiązać ten problem przy pierwszym czyszczeniu:

cmd + k
shift + cmd + k

a następnie usuwam całą zawartość Danych pochodnych ścieżka folderu powinna wyglądać tak

/Users/youruser/Library/Developer/Xcode/DerivedData

Lub możesz to sprawdzić

Xcode -> Preferences -> Locations
m1sh0
źródło
0

Miałem ten sam problem, dopóki nie znalazłem tego rozwiązania . Musiałem wyczyścić wszystkie moje stare certyfikaty i profile udostępniania, a następnie utworzyć nowe certyfikaty za pomocą „Apple Development” i „Apple Distribution” zamiast opcji „iOS ...”.

użytkownik1791914
źródło
0

Mam ten sam problem, a problem polegał na tym, że korzystałem z nieopłaconego konta i osiągnięto całkowitą liczbę bezpłatnych profili programistycznych, więc musisz użyć konta płatnego

szczegóły:

Przyczyna niepowodzenia: Osiągnięto maksymalną liczbę aplikacji dla bezpłatnych profili programistycznych

łóżko
źródło
Miałem ten sam problem. Przeczytałem Szczegóły i zrealizowałem później
candyline
0

Wystąpił ten błąd podczas uruchamiania projektu z biblioteką, w Embed Frameworksktórej Code Sign on Copyodznaczone. Zaznaczenie tego pola rozwiązało dla mnie ten problem.

Szlagier
źródło
0

„-402620395 Przyczyna niepowodzenia: Nie znaleziono prawidłowego profilu udostępniania dla tego pliku wykonywalnego.”

Miałem również ten problem i go rozwiązałem:

Oznacza to, że Twój profil udostępniania nie jest ustawiony na programowanie. Musisz utworzyć nowy profil udostępniania dla programowania, który będzie inny niż zestaw profili do dystrybucji. Następnie, w podpisywaniu i możliwościach, w ustawieniach aplikacji na xcode wybierz profil programisty, jeśli chcesz zainstalować na swoim urządzeniu. Nie przejmuj się dystrybucją za pomocą swojego profilu programisty, musisz wybrać profil, którego chcesz używać podczas wypychania do sklepu z aplikacjami (jest ustawiony na none i musisz go zmienić).

Innym rozwiązaniem byłoby wybranie automatycznego zarządzania ustawieniami logowania, ale ma ono ustawienia domyślne podczas przesyłania do sklepu z aplikacjami, co może nie być potrzebne.

Michael Montalbano
źródło
-1

Xcode 11.2 jest przestarzały przez Apple 5 listopada 2019 r

Nawet jeśli możesz zainstalować go na swoim urządzeniu, nie możesz przejść AppStore: zobacz dzienniki

Pobierz najnowszy prawidłowy plik xip w wersji AppStore .

Zapowiedź

Xcode 11.2 miał pewne problemy i powoduje awarię starszych urządzeń iOS i nie instaluje się na nowszych urządzeniach iOS. Na razie możesz:

Tak więc rozwiązaniem jest:

  1. Zaktualizuj system macOS do wersji 10.15.1
  2. Zainstaluj Xcode 11.2.1 GM seed
  3. Zbuduj i zainstaluj aplikację na zaktualizowanym urządzeniu (13.2.2 jest już dostępny)
Mojtaba Hosseini
źródło
Pobieram teraz Xcode 11.2.1 GM seed ... Dam wam znać, czy to rozwiąże problem. Cieszę się, że to nie tylko ja - zaczynam mieć wrażenie, że biorę szalone pigułki za pomocą Xcode 11.2.
Bretania
2
Na podstawie połączonego postu SO awaria dotyczy urządzeń z systemem iOS 13 i nowszych, które mają UITextView. Nie ma w tym nic o problemach z instalacją „na nowszych urządzeniach iOS”
shim
Ten post zawiera wiele linków, ponieważ Apple wywołuje chaos. @shim, ale teraz Apple akceptuje problem i całkowicie usuwa Xcode 11.2 i usunął go z AppStore.
Mojtaba Hosseini
3
Ta odpowiedź nie dotyczy problemu. Testowałem wdrożenie aplikacji przy użyciu Xcode 11.2.1 i problem nadal występował. Jedynym sposobem, w jaki mogłem wdrożyć aplikację na urządzeniu z Xcode 11.2.1, było ustawienie „Plik -> Ustawienia obszaru roboczego-> Kompiluj system” na „Legacy Build System”
Lean van Heerden,
Więc @Brittany jaki był wynik? Zadziałało?
Mojtaba Hosseini
-1

Ten problem dotyczy tylko SYGNALIZACJI KODU

Ale kluczową kwestią do odnotowania tutaj jest, jeśli używasz wersji XCode 11.x. Nie tylko podpisywanie kodu w twoim projekcie, ale powinniśmy sprawdzać podpisywanie kodu w zestawach SDK Thirdparty lub zależnościach, które dodajemy do naszego projektu.

Kroki, aby zweryfikować podpisywanie kodu SDK innych firm:

  1. Pobierz potrzebny kod źródłowy frameworka
  2. Otwórz plik .xcproj z kodu źródłowego za pomocą XCode 11.x
  3. Idź do Cele -> Podpisywanie i możliwości -> Wybierz wszystko -> Identyfikator pakietu Jeśli zauważysz jakiekolwiek nierówności w identyfikatorze, np. Identyfikator z 4 separatorami (np. Com.company.mac.app)

    Zmień go na com. * I wpisz.

  4. Upewnij się, że NARZĘDZIA LINII POLECEŃ XCODE są ustawione na XCode 11.x

  5. Teraz użyj polecenia poniżej, aby odbudować zestaw SDK, a zmiany dokonano w powyższym kroku 3

      carthage build --no-skip-current --cache-builds --platform iOS
  6. Teraz skopiuj wygenerowane środowisko, folder kart źródłowych i zastąp istniejący zestaw SDK w swoim projekcie.

Powtórz to samo dla procesu dla wszystkich zewnętrznych zestawów SDK w swoim projekcie.

UWAGA: Upewnij się, że zaznaczone wszystkie 3rd SDK firm jak HTML i Zarejestruj się

Targets => General => Frameworks, Libraries, and Embedded Content
Teja Kumar Bethina
źródło
-1

Może to być spowodowane uruchomionym schematem dystrybucji / wydania. Zmiana schematu do debugowania działa dla mnie. Mam nadzieję, że to komuś pomoże.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

iGW
źródło
-2

Odpowiedź znajduje się w następującym komentarzu: https://stackoverflow.com/a/50719379/10353503

Magy Elias
źródło
1
Prześlij więcej niż tylko link, na wypadek gdyby w przyszłości usunięto wskazaną przez Ciebie odpowiedź. Dlatego powiedz kilka słów o treści za linkiem. Dziękuję
THess