development

실제 Apple Watch에서 디버그 : 응용 프로그램 확인 실패

big-blog 2020. 12. 12. 12:10
반응형

실제 Apple Watch에서 디버그 : 응용 프로그램 확인 실패


오늘 실제 Apple Watch에서 내 WatchKit 앱을 디버깅하려고했습니다. Xcode에서 디버그 버튼을 누른 후 기본 iPhone 앱이 제대로 설치되었지만 Apple Watch는 Failed to install xxx, error : Application Verification Failed 메시지 만 표시했습니다 . WatchKit 앱이 설치되지 않습니다.

나는 이것을 알고 있었다 : WatchKit App Rejected for "Failing to Install" ,하지만 내 Xcode 프로젝트 파일이 괜찮 기 때문에 도움이되지 않았습니다.

실제 Apple Watch에서 디버그 작업을 수행하는 방법은 무엇입니까?


또한 Apple Watch의 UDID를 Apple 개발자 포털에 추가하고이 UDID를 포함하도록 개발 프로비저닝 프로파일을 업데이트해야합니다.

UDID는 Xcode의 Devices에서 얻을 수 있습니다 . 페어링 후 Apple Watch의 정보가 iPhone 정보 아래에 자동으로 표시됩니다.

글을 쓰는 시점에서 이것은 어디에도 문서화되지 않은 것으로 보이며 Apple Watch의 오류 메시지는 특별히 도움이되지 않았습니다. 그래서 저는이 시도-오류 레슨이 여러분의 번거 로움을 덜어주기를 바랍니다.


위에서 설명한 UDID 문제가 범인 일 수 있지만 제 경우에는 Xcode에서 자동으로 처리했습니다. 장치 로그 (메뉴 창> 장치)를 보면 다음과 같이 표시됩니다.

companionappd [350] : WatchKit 응용 프로그램을 설치하지 못했습니다. 오류 : (Error Domain = LaunchServicesError Code = 0 "작업을 완료 할 수 없습니다. (LaunchServicesError 오류 0.)"UserInfo = 0x14e2f690 {Error = ApplicationVerificationFailed, ErrorDetail = -402620394, ErrorDescription = 다음의 코드 서명을 확인하지 못했습니다 : 0xe8008016 ( 프로비저닝 프로필에서 허용되지 않는 자격이 발견됨 )})

... 빌드 프로세스에서 포착되지 않았거나 화면상의 오류에서 명시 적으로 나와 공유되지 않은 문제입니다.

그래서 저는 자격을 살펴 보았습니다.

여기에 이미지 설명 입력

예, beta-reports-activeTestFlight에 제출하기 위해 수동으로 추가해야 했습니다.

TestFlight (및 기본 Entitlements 이외의 항목)를 사용하는 경우 플래그가 필요한 것 같지만 로컬에서 디버깅하는 경우 플래그가 필요 하지 않습니다 .

따라서이 모순에 대한 나의 해결책은 다음 과 같이 두 개의 권한 파일갖는 것입니다.

여기에 이미지 설명 입력

여태까지는 그런대로 잘됐다. 앱 및 Watch Extension이 예상대로 실행 중입니다.


기본적으로 두 단계를 수행해야합니다.

  • 개발자 포털에 Apple Watch의 UDID 추가
  • 시계를 지원하도록 프로비저닝 프로필 업데이트

XCode는 다음과 같이 전체 프로세스를 관리 할 수 ​​있습니다.

1. iPhone / iPad에 앱 배포

여기에 이미지 설명 입력

2. iPhone / iPad (시뮬레이터가 아님)에서도 WatchKit 앱을 시작합니다.

여기에 이미지 설명 입력

3. 코드 서명 오류 메시지가 나타나면 문제 해결을 선택합니다.

여기에 이미지 설명 입력

4. 개발 팀을 선택하고 나머지는 XCode가 알아서합니다.

이에 대한 짧은 튜토리얼작성했습니다 .


Xcode의 "장치"디스플레이에서 아래로 스크롤하는 것을 잊지 마십시오. Xcode-> 창-> 장치-> "NameOfiPhone"을 선택한 다음 오른쪽의 "장치 정보"창에서 아래로 스크롤합니다. 그러면 페어링 된 장치가 표시됩니다. 네, 인정합니다 :-)


각각에 대해 AppID가 있어야합니다. 예를 들어 앱의 번들 식별자가 "com.xyz"인 경우 3 개의 appid와라는 프로비저닝 프로파일이 필요합니다.

  1. com.xyz
  2. com.xyz.watchkitapp
  3. com.xyz.watchkitapp.watchkitextension

각각에 대한 프로비저닝을 생성하고 관련 대상에 할당합니다.

이 문제가 해결됩니다. iPhone 및 시계 용 UUID를 이러한 프로필에 추가해야합니다.

또한 모든 대상의 버전이 동일해야합니다.

참고 URL : https://stackoverflow.com/questions/29854314/debug-on-real-apple-watch-application-verification-failed

반응형