Instalacja aplikacji nie powiodła się z powodu uprawnienia identyfikatora aplikacji

304

Nie mogę zainstalować aplikacji WatchOS 2 WatchKit ze względu na uprawnienie do identyfikatora aplikacji. Stało się tak po włączeniu grup aplikacji na karcie Możliwości.

Pełny błąd:

Instalacja aplikacji nie powiodła się

Uprawnienie do identyfikatora aplikacji tej aplikacji nie jest zgodne z zainstalowaną aplikacją. Te wartości muszą być zgodne, aby aktualizacja była dozwolona.

Zrzut ekranu 1

Spowoduje to uruchomienie aplikacji w trybie debugowania na urządzeniu fizycznym. Działa tylko aplikacja na iOS.

Wyłączyłem ponownie Grupy aplikacji i usunąłem dodane pliki uprawnień, ale ten sam błąd.

Ric Santos
źródło
Czy udało Ci się znaleźć poprawkę?
prasad1250
1
Tak, odpowiedź od @ john-nesbitt załatwiła sprawę
Ric Santos
1
Jeśli chodzi o „dlaczego” to się zdarza (może być pomocne, aby wymienić), w moim przypadku, przy zmianie konta programisty. Został zainstalowany na koncie A i próbował uruchomić po zmianie na konto B. (Nie mam pliku uprawnień w projekcie).
bauerMusic
Najpierw sprawdź drugą odpowiedź, jest ona bardziej wyczerpująca i nie spowoduje utraty danych.
arcady bob

Odpowiedzi:

746

Miałem ten problem z aplikacją na iPhone'a i naprawiłem go, wykonując następujące czynności.

  • Po podłączeniu urządzenia i otwarciu Xcode wybierz Window-> Devices
  • W lewej karcie okna, które się pojawi, wybierz urządzenie powodujące problem
  • W panelu szczegółów po prawej stronie usuń szkodliwą aplikację z listy „Zainstalowane aplikacje”.

Po wykonaniu tej czynności moja aplikacja została przebudowana i uruchomiona. Ponieważ twoja aplikacja jest aplikacją watchOS, nie jestem pewien, czy uzyskasz taki sam wynik, ale warto spróbować.

John Nesbitt
źródło
59
Spowoduje to usunięcie aplikacji i całej jej zawartości. Muszę zaktualizować i nie stracić wszystkich moich danych, jeśli to możliwe.
Robert Gummesson
65
Więc usunąłeś aplikację
railwayparade
6
Moja aplikacja nie była wyświetlana na liście Windows-> Urządzenia, ale usunąłem ją z telefonu (naciskając i przytrzymując ikonę), co rozwiązało problem. Dzięki, John.
Steve A
16
Chcę przetestować migrację aplikacji do nowej wersji i nie mogę tego zrobić, jeśli usunę istniejącą aplikację (wersję AppStore) z urządzenia.
mixtly87,
3
Pewnie, że to działa, ale w moim przypadku problem polega na tym, że muszę to robić za każdym razem, gdy inna osoba z zespołu korzysta z tego samego urządzenia, co jest denerwujące, więc usunięcie nie jest dobrym rozwiązaniem!
v01pe
97

Miałem ten problem i nie byłem w stanie go rozwiązać bez usunięcia i ponownej instalacji aplikacji (bałagan z profilami administracyjnymi, jak niektórzy tutaj sugerowali, nie pomógł).

Nie straciłem jednak istniejących danych testowych. Oto jak to zrobić, dla każdego, kto ma ten problem w przyszłości:

  1. Przed usunięciem aplikacji otwórz okno „Urządzenia” Xcode (to cmd-shift-2).
  2. Wybierz urządzenie i znajdź swoją aplikację na liście „Zainstalowane aplikacje”.
  3. Kliknij ikonę koła zębatego i wybierz „Pobierz kontener ...”. Spowoduje to skopiowanie wszystkich danych aplikacji na komputer Mac. Zapisz to gdzieś na razie.
  4. Usuń aplikację i zainstaluj ją ponownie z Xcode. Zabij aplikację z Xcode (kliknij przycisk Stop), aby nie działała.
  5. Z powrotem w oknie „Urządzenia” kliknij ikonę koła zębatego i wybierz „Zamień kontener ...”. Wybierz dane pobrane na komputer Mac w kroku 3.

Xcode następnie przywróci wcześniej zapisane dane aplikacji. Masz teraz swoje stare dane testowe i aplikacja powinna zostać uruchomiona.

Tom Harrington
źródło
3
Działa to szczególnie dobrze w przypadku korzystania z funkcji „automatycznego udostępniania” w Xcode 8.
Steve Madsen,
2
Naprawdę żałuję, że nie przeczytałem tego przed użyciem odpowiedzi. Wtedy dane stanu zostałyby zachowane. (Zobacz mój komentarz powyżej).
Tim Maher-De Troyer
1
To powinna być wybrana odpowiedź.
galactikuh
W 100% właściwa odpowiedź JEŚLI NIE CHCESZ UTRACIĆ DANYCH. Należy przyjąć odpowiedź.
arcady bob
Mam taki sam scenariusz, ale moje użyteczne dane znajdują się w błędach użytkownika. Czy mimo to możemy je odzyskać? Pomoc jest doceniana
Rahish
29

Usuń wszystkie poprzednie wersje aplikacji z iPhone'a, a następnie Wyczyść-> Utwórz i uruchom ponownie. Twoja aplikacja powinna działać płynnie na Twoim urządzeniu.

Upewnij się również, że nie wybrałeś Certyfikatu dystrybucyjnego w Ustawieniach projektu podczas próby uruchomienia projektu bezpośrednio na urządzeniu.

n.by.n
źródło
28

Ten błąd pojawi się, gdy prefiks AppID nie będzie zgodny z prefiksem poprzednio zainstalowanej aplikacji. Jeśli Twoja aplikacja jest już w App Store, nie będziesz mógł przesyłać aktualizacji bez przywrócenia oryginalnego prefiksu AppID lub skontaktowania się z Apple.

Instrukcje Apple dotyczące obsługi tego problemu: https://developer.apple.com/library/content/technotes/tn2319/_index.html#//apple_ref/doc/uid/DTS40013778-CH1-ERRORMESSAGES-UPGRADE_S_APPLICATION_IDENTIFIER_DOES_NOT_PD

Jeśli nie zamierzałeś zmieniać prefiksu AppID, Xcode podpisuje Twoją aplikację z niewłaściwym profilem udostępniania.

Jeśli zamierzasz zmienić prefiks AppID (ponieważ aplikacja została przeniesiona do nowego programisty lub przeprowadzasz migrację ze starego AppID sprzed 2011 r.), Musisz skontaktować się z Apple, aby przeprowadzić migrację istniejącego AppID do nowego prefiksu.

Musisz także dodać previous-application-identifiersuprawnienie do swojej aplikacji, wymieniając wszystkie poprzednie identyfikatory aplikacji (ze starymi prefiksami). I musisz poprosić Apple o wygenerowanie dla ciebie profilu obsługi, który obejmuje previous-application-identifiersuprawnienie.

Darren
źródło
2
Mój profil wieloznaczny, którego użyłem do programowania, wygasł i przez pomyłkę utworzyłem profil specyficzny dla aplikacji. Po przeczytaniu Twojego wpisu utworzyłem nowy profil z symbolami wieloznacznymi i wykorzystałem go. Działa jak urok. Twój jest najdokładniejszym postem i powinien być akceptowaną odpowiedzią. Usunięcie aplikacji i utrata danych nie jest dobrą opcją dla wielu z nas. Dzięki!
neoscribe
17

Rozwiązałem to bez usuwania aplikacji

Z projektem otwartym w xcode. Projekt -> Ustawienia kompilacji -> Podpisywanie kodu -> Profile obsługi administracyjnej (rozwijane) Prawdopodobnie jest ustawione na automatyczne i wybiera niewłaściwy profil. Otwórz menu rozwijane i wybierz właściwy, a następnie uruchom ponownie aplikację.

Dustin
źródło
Najpierw próbowałem usunąć i ponownie zainstalować aplikację. Nie działało Potem przewinąłem w dół i zobaczyłem tę odpowiedź. Kompilacja zakończyła się niepowodzeniem z tym błędem tylko w przypadku automatycznych testów UI, ale nie w przypadku zwykłej kompilacji, i okazuje się, że dla kompilacji zwykłej wybrano właściwy profil udostępniania, ale nie w przypadku kompilacji automatycznych UItestów. Tak więc aktualizacja rozwiązała problem.
pomyślny99
5

Napotkałem ten sam problem i utknąłem na kilka minut, a po wyszukiwaniu najprostszym rozwiązaniem, które znalazłem, jest ręczne usunięcie poprzednio zainstalowanej aplikacji z urządzenia i próba ponownego uruchomienia aplikacji z Xcode.

Mam nadzieję, że to ci pomoże. Wszystkiego najlepszego...

Kunal Gupta
źródło
4

Kroki

  1. Po podłączeniu urządzenia i otwarciu Xcode wybierz Window-> Devices
  2. Teraz wybierz aplikację i pobierz kontener za pomocą ikony ustawień
  3. Usuń aplikację
  4. Zainstaluj aplikację ponownie za pomocą Xcode
  5. Zatrzymaj od Xcode
  6. Przejdź do Window-> Device, wybierz aplikację i zastąp kontener, który jest kopią zapasową z poprzedniej aplikacji
Kirit Vaghela
źródło
Kroki kontenera nie są konieczne, ale dobrze, jeśli chcesz zachować dane. Dziękuję Ci.
Awesomeness
2

Sam próbowałem kilka rzeczy, takich jak aktualizacja / tworzenie nowych profili obsługi administracyjnej, ustalanie uprawnień w Apple Member Center i projekcie, ale w moim przypadku po prostu musiałem usunąć aplikację i uruchomić ją ponownie.

o_O


Uprawnienie do identyfikatora aplikacji tej aplikacji nie jest zgodne z zainstalowaną aplikacją.

UWAGA: napis „ ... nie pasuje do zainstalowanej aplikacji

Wydaje mi się, że tak się stało, ponieważ dodaliśmy nowe rozszerzenie aplikacji i musiały wystąpić jakieś problemy związane z migracją celu? Nie jestem pewien, ale i tak

staticVoidMan
źródło
tak, usuń zainstalowaną aplikację na swoim urządzeniu i uruchom ponownie z Xcode. Miałem ten problem, ponieważ dodałem cel w Xcode.
Syed Asad Ali,
2

Odkryłem, że przypadkowo zmieniłem profil udostępniania, aby mieć w nim symbol wieloznaczny.

Tj. Zmieniło się z com.companyname.appnickname na com.companyname. *

Utworzyłem nowy profil udostępniania z pełną nazwą o prawidłowej nazwie, pobrałem go, ustawiłem cel-> kompiluj ustawienia-> profil udostępniania na ten nowy profil, zrestartowałem xcode, dostałem dziwny błąd z xcode (wydawało się, że myliłem różnych programistów aplikacji loginy), ponownie uruchomiłem xcode i zadziałało!

Nie chciałem usuwać istniejącej aplikacji, ponieważ próbowałem przetestować, co się stanie, gdy użytkownik zaktualizuje swoją aplikację do nowszej wersji, więc zainstalowałem wersję sklepu z aplikacjami, a następnie uruchomiłem mój xcode z nowszą wersją (która działa np. „aktualizowanie” aplikacji bez usuwania danych użytkownika).

arinmorf
źródło
Musisz tylko upewnić się, że używasz tego samego profilu obsługi administracyjnej, w którym pierwotnie utworzono aplikację.
mj662
2

Miałem ten sam błąd i rozwiązałem go, zmieniając identyfikator pakietu na coś nowego. Następnie bez problemu buduje projekt.

Moje kroki:

  • Otwórz Xcode
  • Przejdź do zakładki Ogólne
  • Znajdź tożsamość
  • Zmień identyfikator pakietu na coś nowego.

Zmiana identyfikatora pakietu

F_Boris
źródło
2
To nie działa, jeśli chcesz przetestować aktualizację aplikacji.
Raphael Oliveira,
2
Zmieniając identyfikator pakietu, skutecznie utworzyłeś zupełnie nową aplikację.
Steve Madsen,
2

Miałem ten sam problem. Identyfikator pliku i nazwa projektu muszą być takie same. Przynajmniej taki był mój problem.

Rawand Saeed
źródło
1

Odinstaluj główną aplikację na iPhone'a, aplikację Watch i skompiluj ją ponownie, rozwiązując problem.

oOEric
źródło
1

Miałem ten sam błąd, dopóki nie przywróciłem zegarka do ustawień fabrycznych zgodnie z https://forums.developer.apple.com/thread/17948

„Najwyraźniej jeśli masz i masz już aplikację WatchOS 1 i próbujesz zaktualizować ją do WatchOS 2, identyfikator pakietu zmieni się i spowoduje ten błąd. Jeśli zaktualizujesz zegarek, musisz go zresetować, jeśli zainstalowałeś aplikację WatchOS1 przed zaktualizowaniem tej aplikacji do WatchOS2 ”.

Piotr Farbiszewski
źródło
Musiałem też przywrócić zegarek do ustawień fabrycznych. Próbowałem wszystkich innych istotnych sugestii, ale bezskutecznie. Zregenerował również wszystkie profile udostępniania, aby upewnić się, że są one zgodne z uprawnieniami. Moja sytuacja była dokładnie taka, jak tutaj opisana: Miałem istniejącą aplikację WatchOS 1, którą próbowałem zaktualizować do WatchOS 2.
przedłużenie
1

Mimo że wykonałem kilka logicznych kroków: odinstaluj aplikację, przebuduj projekt, jedynym rozwiązaniem, które działało dla mnie było: zrestartuj XCode . (XCode 8.1)

Ispas Claudiu
źródło
1

Stało się tak, gdy próbowałem zainstalować nad kompilacją adhoc.

Kelsey
źródło
1

W większości odpowiedzi na ten problem przeoczono jeden krytyczny aspekt, który został podniesiony przez pierwotnego pytającego. Aplikację należy zainstalować bez usuwania istniejącej instalacji. W moim przypadku aplikacja korzysta z bazy danych SQLite, która przechowuje sporo danych dla użytkownika. Oczywiście, jeśli usuniesz aplikację, usuniesz dane. Rozwiązanie, które pozwoliło mi przetestować go w ten sam sposób, w jaki użytkownik go zaktualizuje, było koniecznością.

W moim przypadku problem polegał na tym, że Xcode korzystał z profilu udostępniania automatycznie generowanego przez Xcode. Prawdopodobnie tak się stało, ponieważ dostałem nowy komputer i nie przesłałem profilu udostępniania dystrybucji. Nie wspominając o tym, że nie aktualizowałem aplikacji przez prawie 2 lata. Tak więc mój pierwotny profil udostępniania (który zawiera identyfikator aplikacji Entitlements) dawno zniknął. Rozwiązanie: w preferencjach Xcode-> Konta-> Wybierz odpowiedni identyfikator Apple-> Wyświetl szczegóły-> W obszarze Profile obsługi administracyjnej kliknij prawym przyciskiem myszy profil wygenerowany przez Xcode dla tej aplikacji (z prefiksem XC iOS) i wybierz Przenieś do kosza .

Profile udostępniania Xcode w obszarze Konta

W witrynie programisty utwórz nowy profil dystrybucji z identyfikatorem aplikacji. Pobierz nowy profil, kliknij dwukrotnie, a Xcode powinien automatycznie go zainstalować. I odwrotnie, możesz powrócić do profili wymienionych w Xcode i nacisnąć przycisk Pobierz obok nowo utworzonego profilu. Zbuduj aplikację i spróbuj ponownie. Nawiasem mówiąc, mój Xcode jest skonfigurowany do automatycznego zarządzania podpisywaniem kodu, co oprócz tego problemu działa świetnie.

Hoptown
źródło
1

TLDR - usuń aplikację z urządzenia i uruchom ponownie.

W moim przypadku:
1. Skompilowałem i uruchomiłem aplikację na urządzeniu iPhone .
2. Otwieram w ustawieniach Możliwości i włączam iCloud
3. Następnie próbuję ponownie uruchomić aplikację, boom, błąd: „Instalacja aplikacji nie powiodła się Uprawnienia do identyfikatora aplikacji tej aplikacji nie są zgodne z zainstalowaną aplikacją. Te wartości muszą być zgodne, aby aktualizacja była dozwolona.

4.Then I usunięte do aplikacji z iPhone (po przeczytaniu tutaj odpowiedzi)
5.Everything działa OK

użytkownik1105951
źródło
1

Dla osób, które mogą należeć do więcej niż jednego zespołu, może to być twój problem:

  • Jeśli identyfikator pakietu aplikacji jest na stałe zakodowany na twojej Info.plist, Xcode może się pomylić i wywołać furię.

Naprawić:

  • Upewnij się, że identyfikator pakietu jest ustawiony jako:

    $ (PRODUCT_BUNDLE_IDENTIFIER)

Juan Carlos Ospina Gonzalez
źródło
0

Przyjęta odpowiedź nie działała dla mnie. Aby działało, musiałem zresetować zegarek Apple Watch do ostatniej dostępnej kopii zapasowej.


źródło
0

Ten błąd wystąpił po przejściu z 5s do 6s. Odzyskałem nowe 6s z kopii zapasowej starego iPhone'a. Z tego powodu na nowym iPhonie zainstalowano starą aplikację.

Stara aplikacja nie pojawiła się na liście „Zainstalowane aplikacje” 6s! Ręcznie usunąłem tę starą aplikację z 6s i wszystko było w porządku.

Ronald Hofmann
źródło
0

Napotkałem ten problem, ponieważ budowałem na telefonie z wyłączonym podpisywaniem kodu z innego komputera, więc musisz odinstalować aplikację z telefonu przed instalacją / budowaniem na telefonie z podpisanym kodem.

gollumullog
źródło
0

Można to łatwo rozwiązać, usuwając poprzednią aplikację z urządzenia. I zacznij ponownie instalować. To działa dobrze dla mnie.

użytkownik6217789
źródło
0

Dzisiaj spotkałem się z tym samym problemem i rozwiązałem go, zmieniając tylko Nazwę wyświetlaną i identyfikator pakietu z poprzedniej aplikacji, która również zainstalowała się na moim iPhonie. Kroki:

Xcode -> General tab -> Find Identity -> Change Bundle Identifier

Więc teraz mam dwie takie same aplikacje o tej samej funkcjonalności, ale o dwóch różnych nazwach i tożsamości.

Irfan
źródło
0

W moim przypadku było to spowodowane certyfikatem.

ponieważ mój własny certyfikat do podpisania aplikacji nie był częścią zespołu programistów (nowy pracownik), uaktualnienie aplikacji z App Store do nowej wersji było niedozwolone.

Jeśli więc zdarzy ci się i nie uda ci się uzyskać „dobrego” certyfikatu, po prostu sklonuj wersję git appStore, otwórz dwa projekty Xcode, skompiluj starą wersję, zaktualizuj ustawienia, jak chcesz, skompiluj nowy i jesteś skończony.

trochę brudne i trudne, ale mam nadzieję, że to może komuś pomóc.

Keuha
źródło
0

Moim problemem był identyfikator aplikacji w połączeniu z certyfikatem używanym do tworzenia profili obsługi administracyjnej. Żaden z moich profili udostępniania nie działał, ponieważ żaden z nich nie był „kwalifikowalny” (utworzony za pomocą certyfikatu zgodnego z identyfikatorem aplikacji). Przeniosłem programowanie na nową maszynę, więc może to był głębszy powód. W każdym razie musiałem utworzyć nowy certyfikat, a następnie nowe profile udostępniania z tym certyfikatem, starając się wybrać odpowiedni identyfikator aplikacji podczas ich tworzenia. Powodzenia.

Alyoshak
źródło
0

Żadna z powyższych odpowiedzi nie działała dla mnie. Mój problem: zainstalowałem wersję aplikacji z Testflight, więc właśnie usunąłem zarówno starą aplikację, jak i wersję Testflight i znów działa.

NEOline
źródło
0

Zaakceptowanie oczekujących umów ze strony dewelopera i iTunes Connect i ponowne otwarcie projektu w X-Code rozwiązało dla mnie tę sytuację.

Vishal Chaudhry
źródło
0

Dla mnie miało to miejsce po aktualizacji do XCode 11, jak powiedzieli inni, jest to problem z podpisywaniem. Naprawiłem to, przechodząc do portalu programistów> Certyfikaty i identyfikatory Edytuj profil udostępniania, którego używasz

Zrzut ekranu listy certyfikatów

Zobaczysz, że istnieje certyfikat dla XCode 11 (jak pokazano na zrzucie ekranu) Wystarczy zaznaczyć to pole, ponownie pobrać profil i zaktualizować podpisywanie projektów przy użyciu nowego profilu.

marvios
źródło
0

W MacOS Catalina twój iPhone będzie wyświetlany na pasku bocznym „Lokalizacji” okien Findera (o ile masz skonfigurowane preferencje Findera do wyświetlania urządzeń zewnętrznych) - możesz wtedy uzyskać dostęp do plików za pomocą opcji „Pliki”, która jest dostępny z paska u góry okna, tuż pod tytułem (w moim przypadku musiałem kliknąć „>” po prawej stronie).

SomaMan
źródło