Nie mogę uruchomić mojej aplikacji w Instrumentach: co najmniej jeden cel nie został uruchomiony

98

Mam prawidłowo ustawione wszystkie uprawnienia do podpisywania kodu. Uruchomienie aplikacji na moim telefonie jest w porządku, ale uruchomienie jej w instrumentach powoduje wyświetlenie komunikatu o błędzie:

Error Starting Recording
At least one target failed to launch; aborting run

I wtedy:

Target failed to run. Permisson to debug [app name] was denied. The app must be signed with a development identity (i.e. iOS Developer)

Jakieś pomysły, jak mogę temu zapobiec? Nie dzieje się na moim iPadzie.

Andrzej
źródło

Odpowiedzi:

217

Edytuj schemat celu i w sekcji „Profil [nazwa aplikacji]” ustaw konfigurację kompilacji na debugowanie (zwykle jest to wersja domyślna).

harrywynn
źródło
6
+1, dzięki, to mi pomogło. Dodam, że musiałem zbudować projekt po ustawieniu konfiguracji na Debug lub Instruments nadal nie grały w piłkę.
Robert
4
Chociaż wiem, że ta opcja „zmień konfigurację na debugowanie” jest nieprawidłowa, nie mam rozwiązania tego problemu. Ogólnie rzecz biorąc, profilowanie kompilacji debugowania jest znacznie mniej przydatne / powszechne.
user501138
1
Dzieje się tak, ponieważ Release często używa certyfikatu produkcyjnego.
Jewgienij Aleksandrow
Upewniłem się, że schemat profilu wykorzystuje konfigurację debugowania (profil programisty) i nadal napotykam ten problem. To jest certyfikat programisty dla przedsiębiorstw, choć nie spodziewałbym się, że będzie miał znaczenie. jakieś pomysły?
Brody Robertson,
3
Mam ten sam problem. Profilowanie aplikacji z konfiguracją debugowania nie jest prawidłowym testem wydajności, ponieważ kompilator nie zoptymalizował kodu, tak jak w przypadku Adhoc. Czy ktoś rozwiązał problem AdHoc?
Fergal Rooney
34

Mówi się, że musisz podpisać aplikację certyfikatem programisty (nie certyfikatem dystrybucyjnym ).

W Xcode 5 po prostu zmień "Provisioning Profile"pole dla swojej "Release"kompilacji w Ustawieniach kompilacji na certyfikat programisty zamiast certyfikatu dystrybucyjnego. W każdym razie na czas trwania testów. Xcode nie pozwala na tworzenie przy użyciu certyfikatu dystrybucyjnego.

Upewnij się, że ustawienia kompilacji projektu nie zastępują docelowych ustawień kompilacji ani nie wprowadzają zmian w ustawieniach kompilacji projektu .

Nie zapomnij przywrócić profilu po zakończeniu testowania.

Nie polecam metody Harrywynn, ponieważ lepiej jest profilować kompilację wydania, ponieważ wtedy bierzesz pod uwagę optymalizacje kompilatora i masz dokładnie takie doświadczenie, jakie będą mieli Twoi użytkownicy.

Zoltán Matók
źródło
1
Po pierwsze, potrzebuje profilu programistycznego, więc oznacza, że ​​musi być w trybie debugowania. Po drugie, chyba że Apple zmieni to na profil dystrybucji, deweloperzy prawdopodobnie pójdą z wersjami deweloperskimi. Po trzecie, tworzysz profil, powinna to być kompilacja deweloperska (debugująca). Po czwarte, dlaczego miałbyś używać profilu deweloperskiego dla schematu wydania?
Angelo
4
„Po pierwsze, potrzebuje profilu programistycznego, więc oznacza, że ​​musi być w trybie debugowania”. Możesz uruchomić dowolną konfigurację z dowolnym profilem. „Po trzecie, profilujesz, powinna to być kompilacja deweloperska (debugująca)”. Należy profilować w kompilacji wydania, aby uwzględnić optymalizacje kompilatora. Możesz uzyskać różne wyniki. „Po czwarte, dlaczego miałbyś używać profilu programistycznego dla schematu wydania?” Ponieważ to najłatwiejsze rozwiązanie tego problemu. I powinieneś zmienić profil z powrotem, gdy będziesz gotowy do testowania, jak napisałem w mojej odpowiedzi.
Zoltán Matók
9

Aby dodać do poprzednich odpowiedzi.

  • Instruments narzeka na tożsamość osoby podpisującej .
  • Uważam, że lepiej jest profilować w trybie wydania, z tych samych powodów, które podał Zolten. (weź pod uwagę optymalizacje kompilatora i uzyskaj dokładnie takie doświadczenie, jakiego doświadczą Twoi użytkownicy itp.)
  • Aby zmienić tożsamość podpisywania kodu dla Xcode 6 :
    • Kliknij swój projekt, wybierz cel, który chcesz profilować.
    • Ustawienia kompilacji -> Podpisywanie kodu -> Tożsamość podpisywania kodu -> Zwolnij
    • Wybierz swój profil programisty iOS.
  • Profil obsługi administracyjnej: pozwól Xcode wybrać odpowiedni profil obsługi administracyjnej za Ciebie, np .: przełącz na Automatyczny
  • Po zakończeniu korzystania z profilu wróć do swoich normalnych ustawień .

Oto obrazek dla tych, którzy są bardzo wizualni;)

wprowadź opis obrazu tutaj

dornad
źródło
1

Pojawił się ten sam problem: [INST STDERR] Błąd śledzenia instrumentów: nie udało się uruchomić celu: odmówiono uprawnień do debugowania. Aplikacja musi być podpisana tożsamością programistyczną (np. Programista iOS).

Rozwiązanie: 1. Zarchiwizowałem aplikację za pomocą Debug Developer Profile w xcode dla urządzenia. 2. Przejdź do Okno -> Organizator ->, aby zobaczyć całą listę archiwów 3. Teraz wybierz archiwum do wyeksportowania i otwórz je w wyszukiwarce 4. Kliknij prawym przyciskiem myszy i pokaż zawartość pakietu 5. Przejdź do folderu Produkty / Aplikacje Zobaczysz plik .app.

Użyj tego zamiast ipa.

Upewnij się, że urządzenie zostało już dodane do portalu dla deweloperów i że są na nim zainstalowane wszystkie certyfikaty, aby powyższe kroki zadziałały.

Kiedy to jest na miejscu. Upewnij się również, że pobrałeś ios-webkit-debug-proxy z poniższego łącza:

https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/ios-webkit-debug-proxy.md

Włącz także narzędzia programistyczne w ustawieniach urządzenia. Upewnij się również, że webinspector safari (safari -> Develop) -> Inspector jest na Hope to pomaga :-)

UWAGA: Jeśli chcesz, aby appium zainstalowało aplikację na urządzeniu za Ciebie, nie podawaj identyfikatora pakietu.

swathy valluri
źródło
Plik aplikacji znajduje się w sekcji Produkty -> Aplikacje w części Zawartość pakietu
swathy valluri
0

Udało mi się rozwiązać ten problem na moim komputerze, wykonując następujące czynności:

  • Wygeneruj nowy profil obsługi administracyjnej programisty na swoim urządzeniu na liście lub przynajmniej upewnij się, że Twój komputer znajduje się na liście urządzenia z profilem.
  • W ustawieniach projektu -> Podpisywanie kodu -> Profil obsługi administracyjnej -> Debugowanie: Ustaw nowo utworzony profil.
  • W ustawieniach celów -> Podpisywanie kodu -> Profil obsługi administracyjnej -> Debuguj i zwolnij: Ustaw nowo utworzony profil.

Mam nadzieję, że to pomoże.

Sèb
źródło
0

Zrozumiałem, co oznacza „Przynajmniej jeden cel nie wystrzelił”. Wydaje się, że zarówno schemat tworzenia, jak i wydawania (jeśli masz schemat debugowania i schemat wydania) muszą mieć tożsamość programistyczną.

Wybrałem schemat debugowania podczas uruchamiania profilera i komunikat u góry XCode mówił „Uruchamianie debugowania”. Jednak wydaje się, że to nie wystarczy.

Zmieniłem tożsamość podpisywania kodu schematu wydania tak, aby była taka sama jak schemat debugowania (a także profil aprowizacji) i problem zniknął.

Matt
źródło
0

działa ... kiedy zmieniłem schemat profilu na tryb debugowania i upewniłem się, że konfiguracja kompilacji zawiera certyfikat programisty. Dzięki

ck8414
źródło
0

Żadne z innych rozwiązań tutaj nie rozwiązało mojego problemu, ale ustaliłem, że był to tylko problem dla mnie na symulatorze. Urządzenie działa dobrze. Być może jest problem z symulatorem.

John Bushnell
źródło
0

Napotkałem ten problem z Xcode 9.1 zarówno dla symulatorów, jak i urządzeń, a mój schemat działania był już ustawiony jako profilowanie z „Debugowaniem”. Wreszcie ta dyskusja na forum Apple okazała się bardzo pomocna i problem został rozwiązany. Krótko mówiąc, rozwiązanie, które działało dla mnie, to ... Uruchom ponownie komputer Mac.

CodeBrew
źródło