iPhone 디버깅 : '프로세스를 수행하지 못했습니다'를 해결하는 방법?


158

방금 Xcode에 프로비저닝 프로파일을 추가하고 (알림 및 앱 구매가 필요함) 필요에 따라 임시 배포를위한 빌드 구성을 설정하고 장치에서 앱을 실행하려고했습니다 (과거에 여러 번 수행함). 문제없이).

앱이 설치되었지만 시작되지 않습니다. 콘솔에서 다음 메시지가 나타납니다.

Error launching remote program: failed to get the task for process 82.
Error launching remote program: failed to get the task for process 82.
The program being debugged is not being run.
The program being debugged is not being run.

그러나 장치에서 응용 프로그램을 수동으로 시작하면 예상대로 작동합니다. 최근 Snow Leopard 용 최신 XCode 3.2를 설치했습니다. 이 버전의 XCode에서 알려진 버그입니까, 아니면 내가 잘못하고 있습니까?

편집 : 개발 프로비저닝 프로파일을 사용하여 릴리스 배포에서 잘 작동합니다. 임시 프로비저닝 프로파일을 다시 확인하여 사용중인 장치가 포함되어 있는지 확인했습니다.


또한 이것은 도움이 될 수 있습니다 : Organizer-> Projects-> DerivedData delete and clean으로 이동하십시오. Project와 Target의 모든 서명이 일관되고 올바르게 설정되어 있는지 확인하십시오. 이것은 제 경우에 도움이되었습니다 ....
user387184

답변:


110

앱에 Entitlements.plist 파일이 포함되어있을 때 XCode를 통해 장치에서 바이너리를 디버깅하는 데 문제가 있었는데, 디버깅을 위해 장치에 설치할 필요가 없습니다. 일반적으로 릴리스 빌드 (App Store에 필요한 곳) 에이 파일을 포함시키고 디버깅을 위해 제거했습니다 (그래서 XCode에서 앱을 디버깅 할 수 있습니다). 그것은 당신의 문제 일 수 있습니다.

업데이트 : (적어도) 2010 년 8 월 (iPhone 4.1 SDK)부터 Entitlements.plist는 더 이상 많은 경우 응용 프로그램에 포함시킬 필요가 없습니다 (예 : App Store를 통한 배포). 자세한 내용은 여기 를 참조 하십시오 . Entitlements.plist가 필요합니다 :

중요 : 인 타이틀먼트 파일은 일반적으로 Ad Hoc 배포 용으로 구축하거나 키 체인 데이터 공유를 활성화 할 때만 필요합니다. 둘 중 하나라도 해당되지 않으면 항목을 삭제하십시오. 코드 서명 권한 을 . (강조 광산)


맞습니다. Entitlements.plist에서 get-task-allow 부울 값이 false로 설정되어 디버깅을 방해한다는 것을 확인했습니다. 감사합니다.
Massimo Cafaro

1
참고로, 나는 똑같은 문제가 있었고 문제를 해결 한 것은 get-task-allow를 YES로 설정하여 자격 파일을 추가하는 것이 었습니다. 같은 문제가 있고 자격 파일이 없으면, 그것을 추가해보십시오 : : P
Alex Zak

iOS 8.1.3부터 ​​엔터프라이즈 서명 앱에도 entitelments.plist가 필요합니다.
Roy K

289

애드혹 프로파일은 디버깅을 지원하지 않습니다. 개발 프로파일을 사용하여 디버깅하고 디버깅 할 수없는 사본을 배포 할 때만 Ad-Hoc 프로파일을 사용해야합니다.


내가 아는 한, 개발자 프로그램 포털에서이 정보를 보지 못했습니다. 그러나 fbrereto에 ​​대한 나의 의견은 이것이 왜 그런지를 설명합니다. 디버그 또는 릴리스 구성에 Entitlements.plist 파일이 없습니다.
Massimo Cafaro

5
실수로 코드 서명 ID를 XCode 4의 iPhone 배포판으로 설정 한 후에도 같은 문제가 발생했습니다
cpungaliya

1
"시작"을 클릭하면 프로파일을 디버깅으로 다시 전환하는 방법
spankmaster79

애플이 당신에게 준 작은 함정 중 하나 일뿐입니다. 포털 버그 덕분에 내 모든 프로필과 인증서를 다시 실행 한 후에 이런 일이 발생했습니다 ... 한숨. 정보 주셔서 감사합니다, 내 문제를 해결했습니다.
n13

이것이 내 문제에 대한 답이었습니다. 인 타이틀먼트와 관련이 없습니다.
DOOManiac

37

나는 같은 문제가 있었지만 간단한 다음 단계를 수행하여 해결했습니다.

  1. 릴리스가 아닌 디버그를 선택했는지 확인하십시오.
  2. 디버그 구성의 프로젝트 설정에서 개발자 프로파일을 선택했으며 권한 plist를 지정할 필요가 없습니다.
  3. Targets :, 수동 설정이 아닌 경우 디버그 구성에 대해 위와 같이 변경하십시오. 작동합니다.

모두 제일 좋다.


이것이 효과가 있었던 이유는 디버그 구성에 Entitlements.plist에 get-task-allow가 설정되어 있지만 Release 1에서는 그렇지 않기 때문입니다. 이는 사람들이 App Store에서 가져온 사본에 디버거를 연결하는 것을 막기 위함입니다. 또한 그것을 작동시키기 위해 그것을 yes로 설정하는 것에 대한 Kai의 대답 ..)
dsmudger

나를 위해 했어. 어떻게 든 빌드가 'release'로 설정되었고 릴리스 프로파일이 올바르게 설정되지 않았습니다.
KPK

19

이것은 알아내는 데 시간이 걸렸습니다.

배포 / Ad Hoc / 프로필을 사용하는 경우 xcode를 통해 테스트 할 수 없습니다. 오류가 발생합니다. 디버깅중인 프로그램이 실행되고 있지 않습니다.

앱을 빌드하고 xcode에서 앱의 제품 폴더로 이동 한 다음 프로젝트 이름으로 파일을 클릭하고 finder에서 공개를 선택할 수 있습니다. 이 응용 프로그램을 iTunes로 드래그하여 동기화하면 장치에서 응용 프로그램을 테스트 할 수 있습니다.


그래, 내 문제 야 Entitlements 파일이 없지만 디버그 빌드 구성을 배포 프로필로 전환했습니다. 개발 프로필로 전환하면 모든 것이 해결되었습니다.
vocaro

1
XCode가 이것에 대해 더 선행 적이기를 바랍니다. XCode에 연결되어있는 동안 장치에서 배포 빌드를 테스트 할 수 없다는 것은 분명하지 않습니다. 일반적인 사용 사례입니다.
user798719

13

이러한 오류가 발생하는 경우 Xcode의 개발 프로파일 또는 누락 된 권한 특성 대신 분배 프로파일을 사용하는 것이 유일한 이유 일 수 있습니다. Entitlements.plist를 사용하지 않는 경우 가능한 오류는 앱이 배포 프로파일과 함께 패키지되어 있다는 것입니다. 빌드 로그를 확인하여이를 확인할 수 있습니다. 이를 변경하려면 프로젝트의 빌드 설정으로 이동하여 코드 서명 엔티티 설정을 확인하십시오. 디버깅이 작동하려면이 설정이 현재 사용중인 구성의 개발자 프로필이어야합니다.

https://developer.apple.com/library/ios/#qa/qa1682/_index.html

즉각적인 결과를 얻으려면 xcode에서 모든 모바일 프로비저닝 프로파일을 삭제하고 사용하려는 개발자 프로파일을 설치하십시오.


13

이 문제에 대해 거의 2 시간! 그리고 마지막으로

아이폰 개발자

iPhone 개발자 : 내 개발자 계정 이름

디버그의에 대한 CODE_SIGN_IDENTITY:

  1. 프로젝트 대상 선택
  2. 빌드 설정
  3. "코드 부호"로 검색
  4. "iPhone Developer" 뿐만 아니라 "iPhone Developer : My Dev Account Name"으로 CODE_SIGN_IDENTITY 섹션의 디버그 행을 수정 하십시오 .

왜 작동하는지 모르겠지만 작동합니다! 적어도 나에게는!


환경 : Xcode 5.0 (5A1412).


이것은 나에게도 도움이되었습니다. 감사합니다. 정확히 어떤 정체성을 사용해야하는지 고민해야했지만 결국 특정 조합을 좋아했습니다. Xcode 6에는 실제로 이런 종류의 물건에 대한 "자동 수정"기능이 필요합니다.
John Contarino

1
이 작업에 추가하기 위해 비슷했지만 달랐습니다. 프로파일을 팀 프로필 (디버깅에 사용됨)로 변경하여 코드 서명자를 "자동"으로 설정했습니다 .XCode 5 이상에서는 실제로 빌드 프로파일을 선택하고이를 기반으로 사용할 서명자를 결정할 수 있습니다.
Kendall Helmstetter Gelner

@KendallHelmstetterGelner thx, 이것은 다른 사람들에게 도움이 될 수 있습니다! : D
Kjuly

또한 "디버그"빌드에 대한 팀 프로필을 변경해야합니다. "디버그"빌드는 XCode에서 장치에서 실행되는 데 사용됩니다 (구성표 설정을 변경하지 않는 한)
Kendall Helmstetter Gelner

1
이렇게하면 다른 코드 서명 ID로 다시 작성하는 것 이외의 작업을 수행하지 않고이 문제에 대한 내 문제를 해결했습니다. 감사합니다! 필자의 경우 임시 배포 ID를 사용하고있었습니다.
Sean Michael Dorian

12

코드 서명 섹션을 확인하십시오. 코드 서명이 iPhoneDeveloper 코드 signe인지 확인하십시오.


내 목표에 어떤 이유로 '팀'이 '없음'으로 변경되어 다시 변경했습니다. 건배
Ralpharoo

9

Entitlements.plist를 열고 부울 값 get-task-allow를 YES로 설정하십시오. 디버거는 이제 연결할 수 있습니다!


나중에 나는 이것을 여러 번 시도했지만 왜 문제를 해결하지 못하는지 이해하지 못합니다. 당신은 여전히 testflightapp을 통합하기를 원한다면이 최선의 방법이 될 것입니다
오웬은 gerig

실행 체계가 디버그로 설정되어 있습니다. 이 솔루션만이 나를 위해 고쳤습니다! 감사합니다.
Pieter

감사합니다 정말 도와주세요 !!
Amir Hudani

4

구성표 편집으로 이동하고 실행-> 정보-> 빌드 구성에서 Ad-Hoc에서 디버그로 변경하십시오. 확인을 클릭하여 저장하십시오.


1

휴대 전화에 만료 된 개발 프로필이있을 수 있습니다.

개발 프로비저닝 프로파일이 며칠 전에 만료되어 갱신해야했습니다. 휴대 전화에 새 프로필을 설치하고 앱을 실행하려고 할 때 동일한 오류 메시지가 나타났습니다. 휴대 전화의 프로필 설정을보고 만료 된 프로필을보고 제거했습니다. 그것은 나를 위해 오류를 해결했습니다.


1

배포 프로파일 만 선택했다고 생각했을 때 Xcode에서 앱을 시작하려고 할 때이 오류가 발생했습니다. 빌드가 성공하여 .ipa 파일을 작성했습니다. testflightapp.com을 사용하여 앱을 실행했습니다. iTunes도 사용할 수 있습니다.


1

Buffernet에 명시된 바와 같이 배포 프로비저닝 프로파일을 사용하여 디버깅 할 수 없습니다. 개발자 프로비저닝 프로파일로 전환하면 "이 실행 파일에 대한 유효한 프로비저닝 프로파일을 찾을 수 없습니다"라는 오류가 발생합니다.

이에 대한 빠른 Google은 아래 나열된 기사로 연결됩니다. 거기에서 iPhone이 Provisioning Portal 및 기타 관련 항목에 추가되지 않았기 때문에 유효한 개발 프로비저닝 프로파일이 없다는 것을 깨달았습니다.

iPhone 개발자 프로비저닝 프로파일을 실행하고 장비가 프로비저닝 포털에 추가되었는지 확인하십시오!

http://iosdevelopertips.com/xcode/a-valid-provisioning-profile-for-this- executable-was-not-found.html


0

예, 배포 용 프로비저닝 프로파일, 즉 Distrutions 프로비저닝 프로파일은 디버깅을 지원하지 않으며이 오류가 발생합니다. 디버그 프로비저닝 프로파일을 생성하고 사용하기 만하면됩니다 (developer.apple.com 계정에서 프로비저닝 프로파일을 생성 할 때주의하십시오).


0

방금 bundleIdentifier 이름을 변경했는데 트릭을 수행하는 것 같습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.