programing

실행 파일이 Xcode에서 잘못된 사용 권한으로 서명되었습니다.

stoneblock 2023. 5. 19. 23:55

실행 파일이 Xcode에서 잘못된 사용 권한으로 서명되었습니다.

내 기기에서 앱을 실행하려고 할 때 Xcode에서 이 오류가 발생했습니다.

실행 파일이 잘못된 자격으로 서명되었습니다.

오래된 Xcode에서 잘 작동했습니다. 오류를 제거하는 방법을 아는 사람이 있습니까?

여기에 이미지 설명 입력

저는 이 문제에 대해 한 시간 동안 고심했고, 마침내 해결책을 찾았습니다.프로젝트 대상 및 프로젝트에서 개발 팀이 다른 것으로 나타났습니다.테스트.

Xcode를 다시 시작하는 이 저에게 효과적이었습니다.

저는 그 문제를 발견했습니다.제가 developer.apple.com 에서 만든 앱에는 앱 간 연동 기능이 포함되어 있지 않습니다.Xcode의 프로젝트 자격 목록 파일은 앱 간 오디오가 YES로 설정되어 있습니다(기본값).일단 제가 developer.apple.com 의 앱 구성에서 설정을 변경하여 앱 간 설정을 활성화했습니다.그러면 내 앱이 내 기기에서 실행됩니다.developer.apple.com 과 xcode 프로젝트 설정 모두에서 앱 설정을 일관되게 하는 것이 애플의 새로운 규칙이라고 생각합니다.

Xcode 5에서 "Game Center" 자격을 설정/해제하여 이 문제를 해결할 수 있었습니다 :-)

앱 테스트 대상을 확인하고 메인 앱과 동일한 프로비저닝 프로필로 설정하기 전까지는 어떤 솔루션도 제대로 작동하지 않았습니다.또는 자동 노래를 사용하는 경우 테스트 대상에서 동일한 팀을 선택해야 합니다.

XCode 10의 경우 레거시 빌드 시스템을 사용해야 할 수 있습니다.

파일/프로젝트 설정에서 변경할 수 있습니다.오류 ITMS-90174: "프로비저닝 프로파일 누락 - iOS 앱은 inbedded.mobileprovision이라는 파일에 프로비저닝 프로파일을 포함해야 합니다."

코르도바 / 이온성 발표: https://github.com/apache/cordova-ios/issues/407

최신 Xcode에 대한 솔루션:

먼저 회원 센터에서 특정 앱에 대해 활성화된 항목을 확인해야 합니다.ID:

여기에 이미지 설명 입력

그런 다음 Xcode의 적절한 대상에서 동일한 기능을 활성화해야 합니다.이 경우:App Group,Game Center,In-App PurchaseXcode의 대상에서 모두 활성화되어야 합니다.

여기에 이미지 설명 입력

그러나 DEBUG 모드에서는 문제가 되지 않습니다.

여기에 이미지 설명 입력

릴리스 모드에 매우 중요합니다.여기에 이미지 설명 입력

:Game Center그리고.In-App PurchaseMember Center에서는 기본적으로 활성화되지만 Xcode의 대상에서는 비활성화됩니다.

xCode4.6을 사용하다가 xCode5를 사용하게 된 프로필 때문에 문제가 있다고 생각합니다.

XCode > Preferences > Accounts를 통해 인증서/프로비저닝 프로파일을 새로 고쳐야 합니다.

XCode > Preferences > Accounts > DEV ACCOUNT > View Details 버튼(오른쪽 아래) 클릭 > Signing Iden/PPS 화면이 나타납니다 > Refresh를 누릅니다.

그런 다음 빌드 설정에서 올바른 프로필을 다시 선택하고 프로젝트를 정리하고 빌드합니다.

이것이 도움이 되길 바랍니다.

아래 Xcode5에서 앱의 기능과 일치해야 했습니다.

Capabilities -> 
In-App purchase -> ON
Game Center -> ON

예비 프로파일에 있는 것으로 말입니다.

xcode 6.1(HealthKit 샘플)

HealthKit 통합으로 인해 다음 오류가 발생했습니다.인앱 구매, 게임 센터, 힐킷을 활성화하여 문제를 해결했습니다.Provision Profile에서 활성화한 것과 동일합니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

(Xcode 6.1)

문제는 빌드 설정에 있었습니다. 장치에 배포할 때 프로비저닝 프로파일을 App Store 프로덕션 프로파일로 설정했습니다.'자동'으로 전환했더니 문제가 해결되었습니다.개발 프로비저닝 프로파일로 설정할 수도 있습니다.

저는 또한 2개의 인증서를 가지고 있어서 두 번째 인증서를 개발 프로비저닝에 추가했습니다.다른 사람들은 아마 이 문제를 겪지 않을 것입니다.

Xcode 10으로 업데이트할 때도 비슷한 문제가 있었는데, "New Build System" 옵션에서 "Legacy Build System"을 선택하여 File > Project Setting으로 문제를 해결했습니다.이것이 저를 위한 속임수를 만들었습니다, 저는 이것이 누군가에게 도움이 되기를 바랍니다.

단순한 클린 앤 빌드로 해결할 수 있을 것 같았습니다.

만약 이 문제가 저와 같다면요.당신은 당신의 목표 프로젝트에서 유닛 테스트에 팀을 설정하는 것을 잊을 수 있습니다. 이 사진을 해보세요.

여기에 이미지 설명 입력

을 모두 합니다."PROVISIONING_PROFILE=..."그리고."PROVISIONING_PROFILE[sdk=iphoneos*]" = ...project.pbxproj에서 Xcode를 다시 시작하고 대상에 대한 프로비저닝 프로파일을 다시 설정합니다.

xcode를 다시 시작해도 작동하지 않으면 새 프로비저닝 프로필을 만들고 테스트 장치를 포함해야 합니다.

저의 경우, 장치가 추가되지 않았습니다.따라서 디바이스를 추가하고 새로운 프로비저닝 프로파일을 생성해야 했습니다.

확인해야 할 또 다른 사항 - 두 가지 모두에서 올바른 엔티티를 선택했는지 확인합니다.

대상 -> 당신의 대상 -> 빌드 설정 -> 서명

그리고.

프로젝트 -> 당신의 프로젝트 -> 빌드 설정 -> 코드 서명 엔티티

앱에서 요청한 사용 권한이 없는데도 하나에서 전체 개발 프로파일을 선택하고 다른 하나에서 다른 (개발자가 아닌) Apple ID를 선택했을 때 이 메시지가 표시되었습니다.

이는 배포/해제 체계가 실행 중이기 때문일 수 있습니다.디버그로 스키마를 변경하는 것은 저에게 효과가 있습니다.우리는 여기서 계획을 확인할 수 있습니다.이것이 누군가에게 도움이 되기를 바랍니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

Xcode 안에 작은 버그가 있는 것 같습니다.문제가 있더라도 보관해 보십시오.entitlements사용자의 사용 권한이 정상이면 문제없이 업로드됩니다.Apple이 이를 수락하면 앱이 AppStore에 게시됩니다.

제가 해봤는데 효과가 있었어요 :)

이는 잘못된 계획을 실행했기 때문일 수도 있습니다.

XCode 5에서도 같은 문제가 있었습니다.어쨌든 이것은 저에게 도움이 되었습니다.

XCode > Preferences > Location tab > DerivedData

Finder에서 파생 데이터를 열려면 왼쪽 화살표를 조금 누릅니다.프로젝트의 휴지통 폴더로 이동하여 다시 빌드합니다.

스크린샷

문제가 좀 있었습니다.해결: 오른쪽 대상으로 이동 -> 기능 -> 저는 "앱 내 구매"와 수정 버튼에 문제가 있었습니다.꺼짐 작동 문제가 해결되었습니다.

내 경우:앱 간 오디오 사용

Capabilities -> Inter-App Audio

Parse.com 알림을 사용하기 때문에 AudioToolbox.framework에 대한 링크가 필요한 것 같습니다.

기능 활성화 -> 앱 간 오디오에서도 이 문제가 해결되었습니다.저도 push 알림을 parse를 통해 보내려고 합니다.

답이 좀 부족한 것 같아서 2센트를 추가합니다.

실제 솔루션은 프로비저닝 프로필에 저장된 항목(developer.apple.com -> members -> certificates -> 사용 중인 인증서와 앱에서 활성화된 항목(프로젝트 이름 두 번 클릭) 간에 일반적으로 불일치가 있다는 것입니다.수평 메뉴에서 'Capabilities'('General' 옆)를 선택합니다.

최근에 이 중 하나를 변경한 경우 XCode -> Preferences -> Accounts -> Details -> Refresh Icon에서 인증서를 새로 고치고 XCode를 다시 시작하십시오.

APNS 인증서가 만료된 경우 만료된 인증서를 제거하고 프로비저닝 프로파일을 다시 생성하면 문제가 해결됩니다.

저의 경우, 저는 애플 개발자 사용권 계약에 동의해야 했습니다.

Apple developer 계정에 로그인하여 아래와 유사한 알림 메시지를 확인합니다.

"Apple Developer Program 사용권 계약이 업데이트되었습니다.특정 멤버십 리소스에 액세스하려면****가 2016년 6월 28일까지 최신 라이센스 계약에 동의해야 합니다.

이전에는 기능, 프로비저닝 프로파일, 인증서 등을 변경/확인했지만 앱 ID에 iCloud Containers를 추가/편집할 수 없었습니다.계약에 동의한 후, 일이 순조롭게 진행되기 시작했습니다.

바라건대, 그것이 누군가의 귀중한 시간을 절약할 수 있기를 바랍니다.

저는 꽤 최근에 정확히 같은 문제를 접했습니다.그 중 어느 것도 저에게 도움이 되지 않는 다양한 조언을 읽은 후, 저는 마침내 그 문제의 근본 원인을 발견했습니다.

모바일 프로비저닝 파일이 실제로 Xcode에서 생성한 Entitlements 파일과 일치하지 않습니다.

모든 파일이 Apple 도구에 의해 자동으로 관리되지만 정확하지 않습니다.

Apple 포털에서 프로비저닝 파일을 다운로드하여 열면(인증서로 서명한 plist 파일이므로 텍스트 편집기로 읽을 수 있으므로) Entitlements 파일과 비교할 수 있습니다(Xcode에서 자동으로 생성되어 프로젝트 파일에 상주하므로 텍스트 편집기에서 읽을 수 있는 plist XML 파일).그러면 차이를 알 수 있습니다.

제 경우에는 게임 센터 자격이었습니다.포털에 선택됨(기본적으로 선택됨)으로 표시되었지만 실제로 이 권한은 모바일 프로비저닝 파일에 포함되지 않았습니다.따라서 Entitlements 파일에서 삭제하는 것이 문제였습니다.

따라서 모바일 프로비저닝 프로필의 내용이 APP ID 구성 페이지에 표시된 내용과 일치하지 않는 경우가 있습니다.

Provisioning Profile Automatic(프로비저닝 프로파일 자동)에서 대상 빌드 설정에 동일한 문제가 있는 경우:

대상 자격 파일을 편집할 때는 매우 주의해야 합니다!이로 인해 자동으로 생성된 프로비저닝 프로파일에 대한 해당이 중단될 수 있으며 이 오류가 발생합니다.

저의 경우 디버그 빌드가 있는 iCloud 운영 컨테이너를 임시로 사용해야 했습니다.그러기 위해, 나는 삽입했습니다.

<key>com.apple.developer.icloud-container-environment</key>
<string>Production</string>  

사용 권한 파일에서 확인할 수 있습니다.
나중에 이 줄을 제거해야 한다는 것을 상기시키기 위해 다음과 같은 설명을 추가로 삽입했습니다.

<key>TODO</key>
<string>The entry below must be out commented or deleted to use the iCloud development environment.</string>  

그리고 이것은 대응관계를 깨뜨렸고, 오류를 만들었습니다.

언급URL : https://stackoverflow.com/questions/19581225/the-executable-gets-signed-with-invalid-entitlements-in-xcode