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.


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ć.


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.


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.


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.


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ę.


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...


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

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


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).


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


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.


1

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


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 ”.


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)


1

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


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.


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


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)


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.


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.


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.


0

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


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.


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.


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.


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.


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ę.


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.


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).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.