프로필이 응용 프로그램 식별자 자격에 대한 자격 파일의 값과 일치하지 않습니다.


93

앱을 앱 스토어에 업로드하려고하는데 인증서가있는 페이지에서이 오류가 발생합니다. 내가 알 수있는 한 필드가 일치하도록 변경했지만 뭔가 누락되었습니다.

이것은 팝업되는 것입니다

어떤 도움이라도 대단히 감사하겠습니다.

info.plist


1
entitlements.plist파일을 보여주세요 .
이마 드 알리

이전에 찾지 않았기 때문일 수도 있지만, 내가 보는 유일한 plist는 정보를 말하지만 여기는 두 번째 이미지라는 것입니다.
폴 레이몬드

그것은 사람이 아무것도 나오면 나는 시카고에 비행기를 얻을에 대해 오전, 난 더 이상 링크를 게시 할 수 없습니다 말한다
폴 레이몬드

답변:


208

이 문제가 해결 된 이유는 모르겠지만 Target의 기능 탭으로 이동하여 iCloud를 켜고 아카이브 빌드를 시도했지만 실패하고 iCloud를 다시 끄고 아카이브 빌드를 시도했지만 성공했습니다. 그 후 자동으로 인증서를 다시 확인할 수있었습니다.


3
이것이 왜 효과가 있었는지 모르지만 실제로는 사과 지원이 덜 도움이되었습니다.
Paul Raymond

13
감사합니다. on / off 전환 후 xcodeproj 옆에 빈 .entitlements plist가 생성되었습니다. 제출 프로세스에서 찾고있는 것 같습니다. 권한 / 기능이 필요하지 않은 기존 앱에 대한 Xcode 9의 문제 일 수 있습니다.
Andrew Wood

3
여기도 마찬가지입니다. 고대 프로젝트. 기능 토글을 제안 해 주셔서 감사합니다. 이제 허용되는 빈 .entitlements가 있습니다. Apple에 버그 신고.
RickJansen

6
이 bs에 전체 저녁을 때렸다. 빈 인 타이틀먼트 파일을 생성하는 켜기 및 끄기를 전환해야 한 다음 'Code Signing Entitlements'빌드 설정을 해당 빈 파일로 지정해야했습니다.
Adam Waite 2017

2
Xcode 10.0beta5에서는 여전히 이런 일이 발생합니다. 저에게는 인 타이틀먼트가 생성 된 후 프로젝트 이름이 변경 되었기 때문입니다. iCloud를 켜고 끄면 자격 파일의 이름이 바뀌고 빌드 설정에서 이름이 업데이트되었습니다. 파일의 내용이 동일했습니다. 업 로더는 빌드 설정 파일 이름에 관계없이 권한 파일의 이름을 신경 쓰는 것 같습니다.
Troy

43

Finder를 마우스 오른쪽 버튼으로 클릭-> 폴더로 이동 ...

~/Library/MobileDevice/Provisioning

Xcode 11의 경우

~/Library/MobileDevice/Provisioning Profiles/

모든 프로비저닝 프로파일을 삭제합니다.


1
제 경우 폴더는 "~ / Library / MobileDevice / Provisioning Profiles"입니다.
LightMan

동의, 이것은 정답은 경로가 그냥 엑스 코드 11입니다~/Library/MobileDevice/Provisioning Profiles/
마리우스 Kažemėkaitis

이것이 문제를 해결하는 이유는 무엇입니까? 방금 무엇을 삭제 했습니까? 부작용이 있습니까?
markdon

Xcode에서 자동으로 추가하거나 developer.apple.com에서 프로필을 열어 수동으로 추가 한 프로비저닝 프로파일을 삭제합니다. 다른 프로필을 잃지 않으려면 다음과 같이 사용할 수 있습니다. grep -ir YOUR_APP_ID ~ / Library / MobileDevice / Provisioning \ Profiles; 일치하는 프로필을 표시합니다. 그것들을 삭제하면 동일한 작업을 수행합니다.
Chris Douglass

이렇게하면 문제가 해결되지만 먼저 Xcode로 이동하여 서명 자동 관리를 클릭 한 다음 위의 작업을 수행 한 다음 자동 서명을 다시 확인하면 모두 정상입니다. 나를 위해 고쳤습니다. 여기에서 전체 설명보기 :: ottorinobruni.com/…
c0d3p03t

33

생성 한 앱 application-identifier에 프로비저닝 프로파일이 예상하는 값 이 잘못 되었습니다. 2ABCDEFG 팀의 appID com.example.foo에 대한 인증서는 application-identifier : 2ABCDEFG.com.example.foo를 예상합니다. 앱은 해당 appID가 com.example.foo라고 선언했지만 응용 프로그램 식별자가 일치하지 않습니다. , 잘못된 팀 접두사를 사용 중이거나 bundleID가 잘못 구성되었습니다.

제 경우에는 빌드 스킴을 사용하여 prod 앱과 qa 앱을 빌드 할 수 있습니다. prod의 경우 com.example.foo, QA의 경우 com.example.foo.qa입니다. Info.plist의 bundleIdentifier를 $ (PRODUCT_BUNDLE_IDENTIFIER) $ (BUNDLE_SUFFIX)로 설정했습니다. 이는 시뮬레이터와 기기에서 서로 다른 앱을 사용하기 위해 잘 작동하지만 앱이 보관 단계에서 애플리케이션 식별자를 생성하면 Info.plist에 의해 생성 된 bundleIdentifier를 읽어서는 안됩니다.

이 상황을 해결하기 위해 FooProject.xcodeproj / project.pbxproj (텍스트 편집기 사용)를 편집하여 QA buildSettings PRODUCT_BUNDLE_IDENTIFIER를 com.example.foo.qa로 변경했습니다.

Apple의 기술 Q & A를 통해이 문제를 해결하기위한 심층 분석을 확인할 수 있습니다. 내 보낸 앱에서 코드 서명 인 타이틀먼트를 실행하고 앱이 방금 빌드 된 애플리케이션 식별자를 확인한 후에는 무엇을 잘못하고 있는지 빠르게 인식 할 수 있습니다. https://developer.apple.com/library/content/qa/qa1879/_index.html 실제로 오류 메시지의 구문을 사용하거나 응용 프로그램을 호출하지 않기 때문에 Google 검색에서 해당 페이지를 찾지 못했습니다. -식별자 전체 이름 대신 App ID라고 말합니다.

또한이 문제에 대한 해결책은 애플리케이션 식별자 권한이있는 새 프로비저닝 프로필을 생성하는 것이 아니라 해당 권한이 있지만 프로비저닝 프로필의 값과 앱이 일치해야합니다.


2
감사합니다! 제품 번들 식별자의 접미사에 사용자 지정 변수를 사용하도록 패키징에서 빌드 설정을 변경하여 수정할 수있었습니다. 예를 들어 com.mycompany.myapp $ (BUNDLE_ID_SUFFIX) 이 문제가 해결되었습니다. 따라서 프로젝트 파일을 수동으로 편집 할 필요가 없었고 환경별로 다른 번들 ID를 쉽게 유지할 수있었습니다.
n8tr

응용 프로그램 식별자 불일치가 발생할 수있는 한 가지 이유는 모든 프로비저닝 프로파일을 다운로드하지 않았기 때문입니다. 정확한 앱 ID가있는 프로필이 누락되어 내보내기 단계에서 불일치가 발생하는 경우 와일드 카드 프로필로 아카이브가 생성됩니다.
diidu

이것은 나를 위해 일했습니다. Ionic 앱을 만들고 있었는데 다른 계정에서 테스트했다는 것을 깨달았습니다. com.foo.testName을 사용하고 올바른 계정으로 빌드 할 때 다시 변경했습니다. com.foo.testName이 여전히 pbxproj 파일에있는 것 같습니다
Dewald Els

정말 감사합니다. 이것이 바로 제 유효성 검사를 차단 한 것이었고 설명은 매우 명확합니다!
MDH

@ n8tr 거의 일주일의 두통과 좌절 끝에 귀하의 의견이 저를 구했습니다. 감사.
Behdad

9

{project} .entitlements 파일이 누락되었을 수 있습니다. @samkass가 언급 한 작업을 수행하면 파일이 자동으로 생성되고 작동합니다. 따라서 기본적으로 기능 탭으로 이동하여 무엇이든 활성화하고 비활성화하십시오.


이것은 어리석은 일이지만 업데이트하고 있던 여러 오래된 프로젝트에서 저에게 효과적이었습니다.
aspro

8

iCloud 토글을 켜고, 빌드하고, iCloud를 비활성화하면 다음과 같은 오류가 제거되었습니다.

프로필이 애플리케이션 식별자 및 키 체인 액세스 그룹 권한에 대한 권한 파일의 값과 일치하지 않습니다.


물론 그것이 해결책이 될 것입니다! 나는이 완전히 명백하지 않은 시도를 왜 생각하지 않았는가. 감사합니다 Apple.
Jonathan Plackett

3

Xcode 11에서는 프로젝트에 대한 .entitlement 파일이 없을 때 발생할 수 있습니다. 해결 방법은 '서명 및 기능'(.entitlement 파일 생성으로 이어짐) 아래의 '+ 기능'을 클릭 한 다음 기능을 제거하여 임의의 기능을 추가하는 것입니다. 이렇게하면 인증서도 자동으로 프로비저닝 할 수 있습니다.


2

인앱 구매, 푸시 알림, 인터 앱 오디오, Siri 키트 등과 같이 애플리케이션에 필요한 애플리케이션 기능을 확인하십시오 .

이것이 이러한 유형의 오류의 유일한 원인입니다.

앱 ID에서 위의 플래그가 켜져 있는지 확인하십시오.

대부분의 경우 푸시 알림을 구성하지 않았을 때 발생합니다.


나는 아무것도 활성화하지 않았습니다. 정말 실망 스럽습니다.
폴 레이몬드

귀하의 앱에 위에서 언급 한 기능이
Tech

나중에 스크린 샷을 첨부 할 것이지만 앱에 대한 푸시 알림이나 인앱 구매는 없습니다.
Paul Raymond

정확히 무엇의 스크린 샷을 원하십니까? plist에서는 자격을 언급하지 않습니다.
폴 레이몬드

2

내 Target의 기능 탭으로 이동하여 키 체인 공유를 켜고 작동하기 시작합니다.


2

나를 위해 트릭은

  1. 대상에 대한 기능을 추가 / 제거합니다 (내 경우에는 위젯).
  2. 생성 된 권한 파일이 빌드 설정에 나열되어 있는지 확인하십시오.
  3. entitlemenets 파일에 값이 "development"인 "APS Environemnt"키를 추가합니다.

1

Xcode 10에서는 권한 파일을 프로젝트 네비게이터의 올바른 폴더로 이동하여 작업했습니다. 인 타이틀먼트 파일은 없었지만 기능 탭에서 기능을 전환하여 얻을 수있었습니다.

여기에 이미지 설명 입력


1

이 같은 오류가 발생했으며 위의 솔루션 중 어느 것도 제 경우 문제를 해결하지 못했습니다.

나를 위해 일한 것은 "Entitlements.plist"파일의 "디버깅 가능"설정을 "NO"에서 "YES"로 변경하는 것이 었습니다.


1

제 경우에는 문제가 다음과 같습니다. 빌드 단계에 사용 된 프로비저닝 프로파일이 내보내기 단계에 사용 된 프로비저닝 프로파일과 다른 앱 ID에 대해 생성되었습니다.

따라서 빌드 및 내보내기 단계에 동일한 프로비저닝 프로파일을 사용하고 있는지 확인하십시오.


빌드 및 내보내기 단계에서 다른 프로비저닝 프로파일로 인해이 오류가 발생할 수 있음을 강조하고 싶었 기 때문입니다. 이 경우 오류 메시지는 근본 원인을 찾는 데 도움이되지 않습니다. 답변이 늦어지는 이유는이 오류가 특정 기간에 국한되지 않습니다. 그래서 1 년 전에 일어 났고 지금은 모두 똑같습니다. 내 경우에는 수락 된 답변이 작동하지 않았습니다.
Alexey Komov

1

나를 위해 일한 것은 XCode 11에서 아카이브를 만들고 Xcode 12 베타에서 업로드했습니다.


0

개발자 계정에서 앱 ID에 대해 활성화 한 옵션과 앱의 기능을 교차 확인합니다.


그것은 무료 앱이고 나는 아무것도 활성화하지 않았고 너무 실망 스럽습니다. 그것은 내 장치에 잘 설치되지만 어디를 찾아야할지 모르겠습니다.
Paul Raymond

둘 다의 스크린 샷을 공유 할 수 있습니까?
KavyaKavita

무엇의 스크린 샷을 원하십니까?
폴 레이몬드

개발자 계정에 기능 섹션과 앱 ID 구성의 스크린 샷
KavyaKavita

0

여기 답변에 나열된 몇 가지 옵션을 시도했지만 도움이되지 않았지만 "자동으로 서명 관리"확인란을 토글하여 문제를 해결했습니다.


0

요약 : 앱 ID를 확인하고 서비스가 대상에있는 것과 일치하는지 확인합니다.


나에게 일어난 일은 Xcode 10.1이 앱 ID를 만드는 데 도움을 주었다는 것입니다. 그 후 여기에 설명 된대로 문제가 발생했습니다. (iTunesConnect에서 앱을 만들 때 whildcard 앱 ID를 선택했기 때문에 이것이 완료되었다는 사실조차 깨닫지 못했습니다.) iOS 개발자 포털을 열었을 때 새 앱 ID에 Game Center와 In App Purchase가 자동으로 활성화됩니다.

에서 Game Center를 활성화 할 수 없기 때문에 Target -> CapabilitiesIn App Purchase를 활성화 한 다음 내 앱에 서명하고 업로드 할 수있었습니다.


0

같은 문제에 직면했을 때 위의 모든 것을 시도했지만 아무 효과가 없었습니다.

우리에게 도움이 된 것은 이전 식별자와 동일하지 않도록 번들 식별자를 변경하는 것입니다. 예를 들어 "com.name.App"을 "com.name.App2"로 변경했습니다. xcode가 프로비저닝 프로파일을 가져 오거나 생성하도록 한 다음 원래 프로파일로 되돌릴 수 있습니다.

Apple 개발자 포럼 ( https://forums.developer.apple.com/thread/114539) 의이 스레드에서 아이디어를 얻었습니다.


0

최근에 중복 대상을 만들려고 시도한 후이 페이지를 보았습니다. 어떤 제안도 효과가 없었습니다. 추가 조사와 약간의 머리카락을 잡아 당기는 결과 결국 내 앱의 빌드 설정을 샅샅이 뒤져 무엇이 잘못되었는지 파악했습니다.

내 프로젝트는 자체 대상이 아닌 원래 대상의 권한 파일을 여전히 가리키는 것으로 나타났습니다. 이 문제를 해결하기 위해 Finder의 원래 권한 파일 (예 : $ {SRCROOT} /MyProject/Entitlements/TargetName.entitlements )으로 이동하여 동일한 폴더 내에 복사본을 만든 다음 이름을 변경했습니다 (예 : NewTargetName.entitlements).

그런 다음 새 권한 파일을 열고 새 대상의 번들 식별자 (예 : ABCDEFGH.US.co.fake-company.superduperapp-newtargetname ) 의 끝과 일치하도록 application-identifier 필드를 변경했습니다 .

마지막으로 빌드 설정의 'Code Signing Entitlements'필드를 내 권한 파일의 경로로 업데이트했습니다 (저에게 이것은 $ {SRCROOT} /MyProject/Entitlements/TargetName.entitlements 줄을 따라있는 것입니다. .

서명 및 기능 탭으로 돌아가서 문제가 해결되었습니다. 누군가가 유용하다고 생각하기를 바랍니다.


0

Xcode의 정보 탭으로 이동하여 번들 식별자 필드를 변경합니다. 앱 이름을 변경 한 후 일반 탭에서 번들 식별자를 변경 했는데도 변경되지 않았습니다. 위의 수정 사항은 저에게 효과적이지 않았지만 이것은 즉시 작동했습니다.


0

Xcode 12 베타 3의 새로운 앱에서이 문제가 발생했습니다 ( 앱 제출은 오늘 시작됨 ).

Xcode에는 "자동으로 서명 관리"기능이 있습니다. 그러나 "서명 인증서"에 표시된 팀 ID가 iTunes Connect 웹 사이트에 표시된 팀 ID와 일치하지 않았습니다. 이것이 앱 업로드를 방해하는 근본 원인이었습니다.

수정 방법 :

  1. App Store 배포를위한 프로비저닝 프로파일을 수동으로 생성했습니다.
  2. Xcode에서 환경 설정-> 계정에서 "수동 프로필 다운로드"를 탭했습니다.
  3. 그런 다음 "자동으로 서명 관리"를 해제했습니다.
  4. 드롭 다운에서 프로비저닝 프로필을 선택하면 "서명 인증서"아래에 올바른 팀 ID가 표시됩니다.

0

exportArchive cmd를 실행하고 AppStore에 업로드하는 Gitlab 파이프 라인을 설정하는 동안 동일한 문제가 발생했습니다. 빌드 설정의 DEVELOPMENT_TEAM을 Signing & Certs에서 선택한 동일한 팀으로 변경하여 작동시킬 수있었습니다.

이전에는 기본적으로 다른 DEV TEAM ID를 사용하는 공백으로 설정 되었기 때문에 올바르지 않고 일치하지 않았으며 "application-identifier"= 12331232.com.bannana.apples.peach가 일치하지 않는다고 불평했습니다. 올바른 DEV TEAM을 설정하고 작동했습니다.

Xcode 버전 : 버전 11.3.1

나는 이것이 누군가에게 도움이되기를 바랍니다.


0

우리의 설정

여러 대상 :

  • 하위 앱
  • 손목 시계
  • 앱 클립
  • 오늘 위젯

... iCloud를 사용합니다.

iCloud를 켜고 끄는 것은 우리에게 옵션이 아닙니다. 우리는 이미 그것을 생산에 사용하고 오히려 그것을 엉망으로 만들지 않습니다.

프로필이 애플리케이션 식별자 및 키 체인 액세스 그룹 권한에 대한 권한 파일의 값과 일치하지 않습니다.

해결책

여기의 다른 응답에서 힌트를 받아 모든 대상에 .entitlements파일 이 있는지 확인했습니다 . 대상에 아무것도 없으면 다음과 같이 비어있는 대상을 만들었습니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
</plist>

... 그리고 그것이 목표물 Code Signing EntitlementBuild Settings빈 곳으로 가리 켰습니다..entitlements 파일 지정했습니다.

해결되었습니다!


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