IT TIP

실행 파일이 유효하지 않은 권한으로 서명되었습니다.

itqueen 2020. 10. 29. 20:19
반응형

실행 파일이 유효하지 않은 권한으로 서명되었습니다.


iPhone에서 임시 배포에 문제가 있습니다. SDK 3.0으로 응용 프로그램을 개발했습니다. 개발자 라이선스가 있습니다. 프로젝트에 인증서 및 프로비저닝 프로파일을 추가했습니다. 그래서 문제 없습니다.

그러나 iPhone에 앱을 설치하려고하면 프로젝트가 컴파일 "The executable was signed with invalid entitlements"되고 Organizer 창에 오류가 표시됩니다 . 내가 뭔가를 놓치고 있습니까? 내 iPhone을 2.2.1에서 업그레이드하고 Apple에서 최신 SDK를 다운로드했습니다.

이 문제를 도와주세요.


'포털 프로그램'에는 꽤 좋은 지침이 있습니다. 로그인하면

http://developer.apple.com/iphone

그런 다음 왼쪽의 배포를 클릭하고

임시 배포를위한 배포 프로비저닝 프로파일 생성 및 다운로드

하단에 링크.

핵심 내용은 다음과 같습니다.

임시 배포의 경우 다음을 완료하십시오.

  • 파일 메뉴에서 새 파일-> iPhone OS-> 코드 서명-> 권한을 선택합니다. 파일 이름을 "Entitlements.plist"로 지정하고 'Finish'를 클릭하면 프로젝트 내에 기본 자격 파일의 복사본이 생성됩니다.
  • 새 Entitlments.plist 파일을 선택하고 "get-task-allow"속성을 선택 취소합니다. Entitlements.plist 파일을 저장합니다. (Xcode 4에서 get-task-allow는 "디버깅 가능"이라고합니다.)
  • 대상을 선택하고 빌드 설정 검사기를 엽니 다. 'Code Signing Entitlements'빌드 설정에서 확장명을 포함하여 새 Entitlements.plist 파일의 파일 이름을 입력합니다. Entitlements.plist 파일을 프로젝트의 최상위 수준이 아닌 다른 곳에 배치하지 않는 한 경로를 지정할 필요가 없습니다.
  • 'Build'를 클릭합니다. (참고 : 바이너리에는 57x57 픽셀의 평평한 정사각형 이미지 아이콘이 있어야합니다.이 아이콘은 iPhone 또는 iPod touch 홈 화면에 표시됩니다.)

이 오류는 장치가 프로비저닝 프로파일에 포함되지 않은 앱을 프로파일 링하려는 경우에도 발생할 수 있습니다.

사용하려는 dev 프로비저닝 프로파일에 장치가 포함되어 있는지 확인하십시오. 어떻게 든 오류 메시지가 잘못된 것입니다. 내 자격은 실제로 괜찮 았습니다.


개발 빌드에서는 "get-task-allow"를 확인해야하지만 배포 빌드에서는 선택하지 않은 것으로 나타났습니다. 이를 수행하는 가장 쉬운 방법 (AFAIK)은 프로젝트에 Entitlements.plist 및 EntitlementsDebug.plist 라는 두 개의 권한 파일이 있고 프로젝트의 다양한 구성에 대한 빌드 프로젝트 설정에서 적절한 파일을 참조하는 것입니다.


코드 서명 권한은 더 이상 Xcode 4의 Ad Hoc 빌드에 필요하지 않습니다. Apple 기술 노트 TN2250의 세부 정보 참고 사항을 참조하십시오.


상황이 발생하면 디버그 (!) 빌드를 전화기에 배포하기 위해 "get-task-allow"확인이 필요한 것 같으면 다음을 확인하십시오.

a) 빌드 설정을 확인하십시오. 디버그에 대한 "코드 서명 권한"에 항목이 없어야합니다. b) Entitlements.plist를 일시적으로 제거하고 디버그 버전을 빌드합니다. Entitlements.plist 누락에 대해 불평하는 경우 아마도 동일한 상황에 처했을 것입니다. 오늘 싸워야했습니다. c) Entitlements.plist로 다시 빌드하고 "get-task-allow"를 활성화합니다. 지금 작동한다면 아마도 같은 문제가있을 것입니다.

새 프로필을 엉망으로 만든 후 디버그 빌드를 전화기에 배포 할 수 없습니다. AdHoc은 괜찮 았습니다. a)-비어 있음 .. 흠. 나는 확인했다 b)-불평. c)-일했습니다 ...

결국 나는 편집기에서 project.pbjproj를 조사했고-GUI가 주장했지만 실제로는 디버그 섹션에 "코드 서명 자격"항목이 없다고 주장했습니다. 비워서 끝났습니다.


이는 애플리케이션을 실행중인 장치가 프로비저닝 프로파일로 선택되지 않았기 때문입니다.

그러니 그냥 통과 , 식별자 및 프로필이 인증서 당신의 선택 iOS Provisioning Profiles다음 장치를 선택 편집에 클릭

여기에 이미지 설명 입력


나는 이것과 싸우며 흥미 진진한 3 시간을 보냈다. 방금 프로젝트를 4.2로 업그레이드했는데 어떤 이유로 작동하지 않습니다.

결국 Entitlements.plist 파일을 제거한 다음 새 파일을 만들었습니다.

파일> 새 파일> 코드 서명> 권한

파일 이름을 Entitlements.plist로 지정합니다.

xCode의 리소스 그룹에 있는지 확인하십시오.

Entitlements.plist 파일에 get-task-allow BOOL 유형을 넣지 않았습니다. 추가하고, 확인하고, 저장하고, 선택 취소하고, 저장했습니다. 이것은 기분이 나아졌습니다.

그런 다음 내가 만든 Adhoc 및 Release 프로필을 제거했습니다. 프로비저닝 포털에서 다시 다운로드하여 xCode 구성자에 다시 놓았습니다.

그런 다음 빌드 설정으로 이동하여 디버그 및 릴리스 프로필에 올바른 프로필이 할당되었는지 확인했습니다.

그런 다음 릴리스 / 장치로 변경했습니다. 빌드 버튼을 누르면 작동했습니다.

나는 이유를 모른다.


John의 대답은 99 % 정확합니다. (적어도 내 구성에서) PROJECT에 대한 빌드 설정 검사기를 열어야한다는 것을 알았습니다 . 대상에 대한 빌드 설정에 "코드 서명 자격"이 포함되어 있지 않습니다. 프로젝트에 대상이 하나만있는 경우 이것은 차이가 없을 수 있습니다. 그러나 대상이 여러 개인 경우 프로젝트 빌드 설정으로 이동해야합니다. 어쨌든 John이 말한 것을 한 후에 임시 배포 빌드가 완벽하게 작동했습니다.


Xcode 5.1에서 Preferences-> Accounts-> View Details ...로 이동하면

Signing Identity 상태가 Valid인지 확인합니다. Revoked라고 표시되면 Plus 버튼을 누르고 적절한 서명 ID (iOS 개발 또는 iOS 배포)를 추가합니다. Xcode는 새롭고 유효한 것으로 교체합니다.


그것을 해결 한 나를 위해 : https://coderwall.com/p/-ckobg

  1. Project.xcodeproj> project.pbxproj를 엽니 다.
  2. 다음과 같은 모든 줄을 제거하십시오.
    1. PROVISIONING_PROFILE = ...
    2. "PROVISIONING_PROFILE[sdk=iphoneos*]" = ...
    3. CODE_SIGN_IDENTITY = ...
    4. "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ...
  3. 대상에 대한 프로비저닝 프로파일 및 코드 서명을 다시 설정하십시오.

pJosh, 이것은 이해하는 데 도움이 될 수 있습니다. 제 경우에는 팀 프로비저닝 프로필 (프로비저닝 포털에서 XCode에서 관리한다고 표시됨)과 앱에 대한 장치 테스트 프로필이 만료되었습니다. (아직도 이유는 모르겠지만 포털에는 팀 프로필 옆에 "갱신"버튼이 있지만 클릭해도 아무 작업도 수행되지 않습니다.)

따라서 만료 예정인 프로필을 삭제 한 다음 XCode에서 Organizer (Command-Shift-2)로 이동하여 Library / Provisioning Profiles 아래에서 만료되는 프로필을 삭제했습니다. 그런 다음 하단의 "새로 고침"을 클릭하고 내 Apple ID를 입력하면 만료되는 ID가 갱신됩니다.

Finally, on my Target, I went to Build Settings, Code Signing, and made sure to select the provisioning profile. Voila, now it builds to my device.


Just got this same error code. It seems there are different things that cause this and therefore different ways to fix it.

In my case, I had two different devices with the same name (an iPhone 4 and an iPhone 4S). Changing the name of one of them fixed this error completely for me...


I was trying to add iCloud support to my existing app, but found that after adding entitlements and configuring iCloud, my app would no longer debug.

I realised that my generic iOS development certificate had a different APPID from the app I was working on. So to fix it, instead of using my generic certificate I created a specific development certificate for that APPID.

I refreshed my provisioning profile in XCode, cleaned out the app, disconnected my device, restarted XCOde and connected device and ran, and it now works a treat!


I also spent several hours fighting with this as well. The fix is real simple. Edit your Entitlements.plist file in the root of your project's directory. Find the line that says <key>get-task-allow</key>. Underneath it should be <false/>. Change that to <true/>.


Sorry that this is very late, but I just was looking at this question and found something that worked for me. I went to PROJECT->Build Settings and found the Code Signing section. Beside debug, my distribution profile that said Iphone Distribution: MY NAME was selected. I instead selected Iphone Developer: MY NAME on the drop-down list under IpodProfile (for bundle identifiers com.myName.myApp which was the provisioning Profile for my device. Hope this helps!


I just had this happen to a developer on the team I administer.

It turned out his developer certificate expired and after renewal, I neglected to add his certificate to the provisioning profile his app used. 여기에 이미지 설명 입력


I had not agreed to the new updated licensed agreement from apple.

Briefly : Please log in to your developer's account -> profile's -> review -> read the agreement or get your lawyer read it for you -> agree (at your own will) -> and again click profile's to check the status of your profile.

In my scenario the valid code signing entity was not showing up. When i followed the above procedure it was visible and i was able to run the app on the device and/or create the iPA file without much difficulty.


Had this issue occur when everything seemed to be setup correctly, build setting were pointing to correct provisioning profile, code signing was properly setup, etc.

Issue occurred because I had just created a new scheme and hadn't regenerated my CocoaPods for the new configurations. As you can see from the image, the new ad-hoc configuration is pointing to the Pods.production configuration, instead of a Pods.ad-hoc configuration (and test respectively)

임시 구성 및 체계 구성의 불일치 증명

To fix:

  • Set the offending configuration to None -- cocoapods wouldn't generate the configs unless I did this
  • Close XCode
  • Run pod install
  • Re-open XCode and set the new scheme's configurations to the newly generated configurations.

That's it!


Check if you're device is included in the provisioning profile.

참고 URL : https://stackoverflow.com/questions/1074546/the-executable-was-signed-with-invalid-entitlements

반응형