Otrzymuję „przerażający” błąd, The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
(0xE8008016).
gdy próbuję wdrożyć moją pierwszą aplikację na urządzeniu z systemem iOS 4.2.6 (Verizon) bez jailbreak. Rzecz w tym, że nie mam Entitlements file
w swoim projekcie, bo w ogóle go nie rozpowszechniam, tylko umieszczam na jednym urządzeniu. Przeszedłem przez wszystkie pętle i pętle, przez które Apple podaje (certyfikat, urządzenie, zaopatrzenie) co do joty, i nie mogę dowiedzieć się, co się dzieje.
Czy ktoś może mi pomóc z tym problemem?
iphone
objective-c
code-signing
provisioning-profile
code-signing-entitlements
Richard J. Ross III
źródło
źródło
Build Settings > Code Signing > Code Signing Entitlements
umożliwiło mi zbudowanie tego projektu.Odpowiedzi:
Właśnie natknąłem się na ten problem, problem polegał na tym, że miałem plik Entitlements.plist w projekcie jako część dystrybucji ad hoc, a jego właściwość get-task-allow (tj. 'Can be debugged') była ustawiona na NO - ustawienie TAK rozwiązało problem i umożliwiło uruchamianie aplikacji z Xcode4 na rozwijanym urządzeniu.
Naturalnie trzeba ustawić go z powrotem na NIE dla dystrybucji ad hoc, ale pomyślałem, że wspomnę o tym na wypadek, gdyby ktoś inny napotkał ten sam problem.
źródło
Miałem ten problem z Xcode 4.2.1.
Dla mnie nie miało to nic wspólnego z plikiem uprawnień ani Ad-hoc ...
Wracałem do starego projektu i zapomniałem dodać mojego nowego iPhone'a do prowizji.
Głupi błąd, ale także głupi odpowiadający mu komunikat o błędzie ...: - /
źródło
Jeśli używasz natywnego reagowania, upewnij się, że cel testowy ma ten sam profil aprowizacji, co główny.
źródło
Miałem ten problem z uprawnieniami iCloud. Mój problem polegał na tym, że zapomniałem włączyć iCloud dla mojego identyfikatora aplikacji w portalu obsługi administracyjnej.
Po włączeniu iCloud dla swojego identyfikatora aplikacji musisz ponownie utworzyć profile aprowizacji.
źródło
Zachowaj plik uprawnień w pozycji Cel> Ustawienia kompilacji> Podpisywanie kodu> Uprawnienia do podpisywania kodu.
Idź do Cel> Możliwości. Włącz / wyłącz lub wyłącz / włącz jedną z możliwości.
Biegać.
źródło
Udało mi się całkowicie usunąć plik uprawnień, z listy grup oraz z ustawień kompilacji w projekcie i miejscu docelowym. Następnie ponownie utworzyłem uprawnienia z zakładki Podsumowanie w miejscu docelowym i ładował się poprawnie bez żadnych komunikatów o błędach.
źródło
Wkładam tylko moje 5 centów. Dla mnie żadne z powyższych nie działało, więc byłem zmuszony do stresu i patrzenia na każdą część procesu świeżym okiem.
W pośpiechu zapomniałem, że próbuję zainstalować moją aplikację na zupełnie nowym urządzeniu.
Mój błąd polegał na tym, że nie zaktualizowałem swojego profilu obsługi administracyjnej, odznaczając moje nowe urządzenie w sekcji „Urządzenia” konfiguracji profilu obsługi administracyjnej w portalu obsługi administracyjnej.
Najwyraźniej nieuwzględnienie urządzenia w profilu obsługi administracyjnej również generuje ten komunikat o błędzie.
źródło
Żadna z wielu odpowiedzi nie naprawiła błędu 0xE8008016.
Ale kiedy wybrałem opcję „Automatyczne udostępnianie urządzeń” w Xcode 4> Organizator> Urządzenia> Profile obsługi administracyjnej, w końcu zadziałało.
źródło
W moim przypadku był to głupi błąd. Nieprawidłowo ustawiłem schemat „Uruchom”, aby używał konfiguracji kompilacji „Dystrybucja” zamiast konfiguracji „Debugowanie” lub „Wydanie”. Głupi błąd, ale debugowanie go zajęło trochę czasu, więc dodam swoją odpowiedź, aby ulepszyć bazę wiedzy w przepełnieniu stosu!
źródło
Usuń profile obsługi administracyjnej, wyczyść wszystko, upewnij się, że ustawienia obsługi administracyjnej są prawidłowe, pobierz ponownie i spróbuj ponownie.
źródło
źródło
Miałem ten sam problem w mojej aplikacji, po kilku miesiącach ta konkretna aplikacja działała dobrze.
Problem polegał na tym, że Możliwości skonfigurowane w moim projekcie Xcode (w obszarze Cele -> {ProjectName} -> Możliwości) nie były takie same jak Możliwości skonfigurowane w profilu aprowizacji (możesz to sprawdzić w centrum członkowskim Apple w sekcji Identyfikator -> Aplikacja Ids -> {identyfikator twojej aplikacji}. W centrum członkostwa zobaczyłem, że Game Center jest włączone, więc w moim projekcie włączyłem również Game Center. Wtedy aplikacja mogła się uruchomić.
Do tej pory nie wiem, jak to działało. To wciąż tajemnica :)
źródło
Dla mnie zaznacz opcję „Automatycznie zarządzaj podpisywaniem” w Target rozwiązuj problem!
źródło
Usunięcie folderu xcuserdata rozwiązało mój problem. Więcej na ten temat tutaj: https://stackoverflow.com/a/9968884/300694
źródło
Jeśli nie zmieniłeś niczego związanego z certyfikatami (nie wymieniłeś ich ani nie zaktualizowałeś), po prostu zrób
Product -> Clean
. Pomogło mi to kilka razy. (Xcode 6.2)źródło
Aktualizacja do XCode 4 rozwiązała problem.
źródło
Dziś napotkałem ten problem i wyciągałem włosy, próbując go rozgryźć. Podobnie jak wiele osób tutaj, zadziałałoby, gdybym usunął opcje iCloud z mojego pliku uprawnień. Kiedy chciałbym debugować aplikację z włączonymi opcjami iCloud, otrzymywałbym błąd 0xe8008016. Nastąpiło to zaraz po unieważnieniu i ponownym wygenerowaniu nowych certyfikatów.
Rozwiązaniem dla mnie było więc włączenie obsługi iCloud dla automatycznie generowanego profilu zespołu Xcode. Zaloguj się do narzędzia do obsługi administracyjnej online, przejdź do
App IDs
, kliknijXcode iOS Wildcard App ID
, kliknijedit
, włącz iCloud, zaznaczając pole wyboru i na koniec klikającDone
. Odśwież swoje profile w Xcode, a wtedy zacznie działać.Ma to sens - podczas debugowania domyślnie jest to profil zespołu, a profil zespołu musi mieć włączony iCloud.
źródło
Zdarzyło mi się to, gdy przez pomyłkę próbowałem użyć profilu aprowizacji dystrybucji sklepu z aplikacjami do testów lokalnych. Kiedy użyłem odpowiedniego profilu rozwojowego, działało dobrze. Może to też komuś pomoże.
źródło
To zadziałało dla mnie ...
Entitlements
plik ztarget
.Cleaned
kompilacja w XcodeMam nadzieję, że u was też się uda :)
źródło
Oto, co rozwiązało mój problem: usunięcie ścieżki w sekcji Uprawnienia do podpisywania kodu w ustawieniach kompilacji obiektów docelowych.
źródło
Mój profil aprowizacji od programisty Apple był zgodny z moimi możliwościami Xcode, ale nadal nie został zbudowany na moim urządzeniu, dopóki nie wykonałem następujących czynności:
Usuń / Usuń plik uprawnień z projektu Xcode.
Wróć do karty możliwości Xcode
Kliknij przycisk „Napraw problem”, aby Xcode ponownie dodał plik uprawnień.
Pracował dla mnie, mam nadzieję, że to komuś pomoże.
źródło
Zdarzyło mi się w Xcode 8, częściowo było to spowodowane nowym
Provisioning Profile
ustawieniem kompilacji, ponieważ w tej wersji Xcode są dwa wpisy dla profilu aprowizacji:Moja wina polegała na tym, że zaktualizowałem tylko pierwszy z nich, a przestarzały wpis nadal wskazywał na nieprawidłowy profil obsługi administracyjnej. Zmiana obu na tę samą wartość rozwiązała problem (wyczyszczenie przestarzałego wpisu powinno również przynieść ten sam efekt).
źródło
W moim przypadku wygląda na to, że Xcode (potajemnie) zresetował schemat. Okazało się, że konfiguracja kompilacji dla archiwum była ustawiona na wydanie zamiast dystrybucji, a po zmianie na prawidłową zadziałała.
Myślę, że lepiej sprawdzić schematy, a także ustawienia kompilacji.
źródło
Miałem stary projekt i ten sam problem i rozwiązałem.
1.Przejdź do podsumowania 2.Podsumowanie mają grupy pęków kluczy i usuń obiekt tych grup.
Mam nadzieję, że to zadziała. Pozdrowienia.
źródło
Używam Xcode 6 i napotykam ten problem na jednym konkretnym telefonie iPhone 4
na koniec idę do device => Provision profile =>
a następnie dodaj profil ręcznie i problem zostanie rozwiązany.
źródło
U mnie w Xcode 5.1 otrzymywałem
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
, próbując przetestować aplikację na moim urządzeniu. Certyfikat rozwoju urządzenia musi stracić ważność w lutym 2015 r.Problem został rozwiązany:
Wybrany
Target->Capabilities
, w GameCenter, tutaj pojawiał się błąd w uprawnieniu GameCenter, ponieważ nie został dodany do projektu, chociaż pierwsza wersja aplikacji została wydana przez ten sam XCode 5.1, ale wcześniej nie było takich błędów.Poniżej podano przycisk z tytułem
Fix Issue
. Po kliknięciu dodano uprawnienie GameCenter i problem został rozwiązany.Po totemach ekran wygląda następująco:
Dla mnie nie miało to nic wspólnego z certyfikatem. Aplikacja działa teraz pomyślnie na urządzeniu.
źródło
Jeszcze jeden potencjalny problem, który spowoduje wyświetlenie tego komunikatu o błędzie: Jeśli używasz całkowicie prawidłowego profilu obsługi administracyjnej dla głównej aplikacji, ale masz wygasły lub w inny sposób nieprawidłowy profil obsługi administracyjnej dla rozszerzenia widżetu Dzisiaj. Wyobrażam sobie, że byłoby tak samo w przypadku rozszerzenia zegarka Apple.
Sprawdź wszystkie profile!
źródło
Sprawdź dostęp do KeyChain!
W moim przypadku użyłem niewłaściwego certyfikatu dystrybucyjnego skojarzonego z profilem informacyjnym.
źródło
Kod, nad którym pracowałem, miał inny identyfikator pakietu w Info-plist niż w
Product Bundle Identifier
ustawieniach kompilacji.Znalazłem to, ponieważ zauważyłem ten komunikat w konsoli urządzenia w widoku urządzeń:
MIS: entitlement 'application-identifier' has value not permitted by provisioning profile 'iOS Team Provisioning Profile: com.xxx.yyy'
źródło
Jeśli próbujesz aktywować synchronizację iCloud, musisz włączyć iCloud dla AppID, który jest używany do tworzenia profilu udostępniania deweloperskiego (który Xcode robi automatycznie). Musisz również włączyć to dla profili dystrybucji.
Problem polega na tym, że odświeżanie profili w Xcode nie powoduje ich odnowienia; są po prostu ponownie pobierane. Dlatego w portalu obsługi administracyjnej systemu iOS w obszarze Udostępnianie / programowanie należy sprawdzić profil oznaczony etykietą (zarządzany przez Xcode) i usunąć go (przycisk Usuń wybrane). Zrób to dla WSZYSTKICH profili, rozwoju i dystrybucji, które musisz zregenerować.
Teraz w Xcode w Organizatorze usuń profile obsługi administracyjnej, które chcesz zastąpić.
Teraz zdobądź nowe. Jeśli tworzysz dla więcej niż jednego zespołu i chcesz odświeżyć tylko jeden, wybierz odpowiedni zespół w lewym okienku w obszarze ZESPOŁY, w przeciwnym razie wybierz opcję Profile aprowizacji w obszarze BIBLIOTEKA, a następnie wybierz opcję Odśwież.
Na koniec usuń wszystkie stare profile obsługi administracyjnej z urządzenia, które mogą kolidować z nowymi, ponieważ profile nigdy nie są usuwane automatycznie; nowsze profile są po prostu dodawane do listy.
źródło