프로파일이 애플리케이션 식별자 자격에 대한 자격 파일의 값과 일치하지 않음
앱스토어에 앱을 업로드하려고 하는데 인증서가 있는 페이지에서 이 오류가 발생합니다.제가 알기로는 필드를 변경하여 일치하도록 했는데, 누락된 부분이 있습니다.
어떤 도움이라도 주시면 대단히 감사하겠습니다.
이 문제가 해결된 이유는 잘 모르겠지만, 타겟의 기능 탭에 들어가 iCloud를 켜고 아카이브 빌드를 시도했지만 실패하고 iCloud를 다시 끄고 아카이브 빌드를 시도한 후 성공적으로 인증서를 자동으로 다시 확인할 수 있었습니다.
Finder -> 폴더로 이동...을 마우스 오른쪽 단추로 클릭합니다.
~/Library/MobileDevice/Provisioning
Xcode 11의 경우
~/Library/MobileDevice/Provisioning Profiles/
모든 프로비저닝 프로파일을 삭제했습니다.
생성한앱올지않습다니르가 .application-identifier
프로비저닝 프로파일에서 예상하는 값입니다.에 대한 아이디com.example.foo
을 2ABCDEFG
기대하고 있을 것입니다application-identifier: 2ABCDEFG.com.example.foo
의 앱은 의 앱을 했습니다.아이디는.com.example.foo
러나그나application-identifier
team-bundle을 했거나 번들이 요치 사잘나 일거번 들을가 지고있 습니다 하용못 다않습 니를소성지 prefix하▁didn있,다습 일니가고'▁either지 ▁bundle▁matcht,▁the-▁the팀번을▁you들치prefix▁have▁are▁you▁or.ID가 잘못 구성되었습니다.
저의 경우, 저는 prod 앱과 qa 앱을 만들 수 있도록 빌드 스킴을 사용하고 있습니다. com.example.foo
로드를위해프,.com.example.foo.qa
품질 보증을 위하여
bundleIdentifier에 했습니다.Info.plist
$(PRODUCT_BUNDLE_IDENTIFIER)$(BUNDLE_SUFFIX)
앱을 때 잘 합니다.application-identifer
보관 단계 중에는 Info.plist에서 생성한 bundleIdentifier를 읽을 수 없습니다.
해결하기 는 이상을해기위해결하다, 저편했니습집는황다▁edited▁to니▁i,▁the▁remedy습을 편집했습니다.FooProject.xcodeproj/project.pbxproj
빌드 하려면 ( 사용) QA 빌드 설정을 변경합니다PRODUCT_BUNDLE_IDENTIFIER
com.example.foo.qa
Apple의 기술 Q&A와 이 페이지에서 이 문제를 해결하기 위한 심도 있는 연구를 볼 수 있습니다.내보낸 앱에서 다음을 실행하면 됩니다.
codesign -d --entitlements :- ./Payload/myApp.app
그리고 무엇을 보세요.application-identifier
당신의 앱은 방금 만들어졌고, 당신이 무엇을 잘못하고 있는지 깨닫는 것은 꽤 빠를 것입니다.
저는 구글 검색에서 그 페이지를 찾지 못했습니다. 왜냐하면 그들은 실제로 오류 메시지의 문구를 사용하거나 애플리케이션 식별자를 전체 이름으로 부르지 않고 대신 앱 ID라고 말하기 때문입니다.
이 수 있는 을 새로 생성하는 것이 .application-identifier
사용 권한이 있지만 프로비저닝 프로필의 값과 앱이 일치해야 합니다.
{project} 자격 파일이 누락되었을 수 있습니다.@samkass가 언급한 작업을 수행하면 파일이 자동으로 생성되고 작동합니다.기본적으로 기능 탭으로 이동하여 원하는 항목을 활성화한 후 비활성화합니다.
iCloud 토글을 on, building 및 disable로 변경하면 다음과 같은 오류가 발생하지 않습니다.
프로파일이 응용 프로그램 식별자 및 키체인 액세스 그룹 자격에 대한 자격 파일의 값과 일치하지 않습니다.
Xcode 11에서는 프로젝트에 대한 .entitlement 파일이 없을 때 발생할 수 있습니다.해결책은 'Signing & Capabilities' 아래의 '+ Capabilities'(.entitlement 파일을 생성함)를 클릭한 다음 기능을 제거하여 임의의 기능을 추가하는 것입니다.그러면 인증서도 자동으로 프로비저닝할 수 있습니다.
저는 --dart-define 명령어를 사용하는 Floating 앱을 개발하고 있습니다.저는 이 훌륭한 기사에 매우 영감을 받았습니다.
그러나 배포할 때 이 '애플리케이션 식별자' 문제가 발생했습니다.저는 많은 선택지를 시도했습니다.이 해결책이 저에게 효과가 있었던 해결책입니다.@n8tr의 코멘트에 매우 가깝지만, 차이점은 '대신'이었습니다.
제품 를 계려면제번품식별를자다음설로으다니합정들속하▁the로 설정하면 .your.id.here$(DEFINEEXAMPLE_APP_SUFFIX)
패키지를 Info.plist가 아닌 Build Settings로 표시합니다.
앱 구매 시, 푸시 알림, 앱 간 오디오, 시리 키트 등 앱에 필요한 애플리케이션 기능을 확인하십시오.
이것이 이러한 유형의 오류의 유일한 원인입니다.
앱에서 위의 플래그가 표시되어야 합니다.
대부분의 경우 푸시 알림을 구성하지 않은 경우 앱 ID를 개발하는 앱에서 앱을 구매합니다.
타겟의 Capabilities(기능) 탭으로 이동하여 Keychain Sharing(키체인 공유)을 설정하면 작동하기 시작합니다.
저에게 비결은
- 대상에 대한 기능 추가/제거(나의 경우 위젯);
- 생성된 자격 파일이 빌드 설정에 나열되어 있는지 확인합니다.
- 그리고 "개발" 값이 있는 "APS Environmentnt" 키를 자격 항목 파일에 추가합니다.
Xcode 10에서는 Project Navigator의 올바른 폴더로 사용 권한 파일을 이동하여 작동시켰습니다.자격 파일이 없었지만 기능 탭의 기능을 전환하여 자격 파일을 얻을 수 있었습니다.
저는 이와 같은 오류가 발생했고 위의 해결책 중 어떤 것도 제 경우 문제를 해결하지 못했습니다.
"Entitlements"에서 "Can be debugged" 설정을 변경했습니다.plist 파일이 "아니오"에서 "예"로 표시됩니다.
저의 경우 다음과 같은 문제가 있었습니다. 빌드 단계에 사용된 프로비저닝 프로파일이 내보내기 단계에 사용된 프로비저닝 프로파일과 다른 애플리케이션에 대해 생성되었습니다.
따라서 빌드 및 내보내기 단계에서 동일한 프로비저닝 프로파일을 사용해야 합니다.
제가 성공한 것은 XCode 11에서 아카이브를 만들고 Xcode 12 베타에서 업로드를 한 것입니다.
"Apple로 로그인" 기능이 "백그라운드 모드" 및 "푸시 알림"과 같은 다른 기능과 함께 추가되었는지 확인해 보십시오!
제 경우에는, 그것이 거기에 있었습니다.
따라서 "Sign in with Apple" 기능을 삭제한 후 'project.entitlements' 파일에서 해당 기능이 제거되고 프로비저닝 프로파일이 즉시 동기화되었습니다.
개발자 계정의 앱 ID에 대해 활성화한 옵션과 앱의 기능을 교차 확인합니다.
여기 답변에 나열된 몇 가지 옵션을 시도했지만 "자동으로 서명 관리" 확인란을 껐다가 켜서 문제를 해결하는 데 도움이 되지 않았습니다.
TL;DR: 앱 ID를 확인하고 서비스가 대상과 일치하는지 확인합니다.
Xcode 10.1이 앱 ID를 만드는 데 도움을 주었는데, 그 이후에 여기에 설명된 대로 문제가 발생합니다. (iTunesConnect에서 앱을 만들 때 와일드카드 앱 ID를 선택했기 때문에 이 작업이 수행된 줄도 몰랐습니다.)iOS 개발자 포털을 열었을 때, 새로운 앱 ID는 게임 센터와 앱 내 구매를 자동으로 활성화합니다.
귀하의 게임 수 입니다.Target -> Capabilities
앱 내 구매를 활성화하면 앱에 서명하고 업로드할 수 있습니다.
우리가 같은 문제에 직면했을 때, 우리는 위의 모든 것을 시도했지만 아무 것도 작동하지 않았습니다.
우리는 번들 식별자를 이전 번들 식별자와 동일하지 않도록 변경했습니다. 예를 들어 "com.name ".앱"에서 "com.name .App2"; xcode가 프로비저닝 프로파일을 가져오거나 생성한 다음 원래 프로파일로 다시 가져오도록 합니다.
Apple의 개발자 포럼에 있는 이 스레드에서 이 아이디어를 얻었습니다. - https://forums.developer.apple.com/thread/114539
최근에 중복 대상을 생성하려고 시도한 후 이 페이지를 발견했습니다. 어떤 제안도 효과가 없었습니다.추가적인 조사와 약간의 털 뽑기는 결국 앱의 빌드 설정을 샅샅이 뒤지며 무엇이 잘못되었는지 파악하게 했습니다.
제 프로젝트는 여전히 고유한 권한 파일이 아닌 원래 대상의 자격 파일을 가리키고 있었습니다.이 문제를 해결하기 위해 파인더의 원래 사용 권한 파일(예: ${SRCROOT}/MyProject/Entitlements/TargetName.itlements)로 이동하여 동일한 폴더 내에 복사본을 만든 다음 이름을 변경했습니다(예: NewTargetName.itlements).
그런 다음 새 사용 권한 파일을 열고 애플리케이션 식별자 필드를 새 대상의 번들 식별자(예: ABCDEFGH)의 끝과 일치하도록 변경했습니다.US.co .가짜 회사.슈퍼슈퍼앱-새 대상 이름).
마지막으로 빌드 설정의 'Code Signing Entitlements' 필드를 사용 권한 파일의 경로로 업데이트했습니다. 이 필드는 ${SRCROOT}/MyProject/Entitlements/TargetName.entitlements의 경로를 따릅니다.
서명 & 기능 탭으로 돌아가 보니 문제가 해결되었습니다.누군가가 이것을 유용하게 찾기를 바랍니다.
Xcode의 Info 탭으로 이동하여 Bundle Identifier 필드를 변경합니다 - General 탭에서 Bundle Identifier를 변경했는데도 앱 이름을 변경하지 않았습니다.위의 수정 사항은 저에게 효과가 없었지만, 이 수정 사항은 즉시 적용되었습니다.
저는 Xcode 12 베타 3(오늘부터 앱 제출 시작)의 완전히 새로운 앱에서 이 문제를 겪었습니다.
Xcode에 "자동으로 서명 관리"가 설정되어 있습니다.그러나 "서명 인증서"에 표시된 팀 ID가 iTunes Connect 웹 사이트에 표시된 팀 ID와 일치하지 않습니다.이것이 앱 업로드를 막는 근본 원인이었습니다.
수정 방법:
- App Store 배포를 위한 프로비저닝 프로파일을 수동으로 생성했습니다.
- Xcode에서 기본 설정 -> 계정에서 "수동 프로필 다운로드"를 누릅니다.
- 그런 다음 "자동으로 서명 관리"를 해제했습니다.
- 드롭다운에서 프로비저닝 프로파일을 선택하면 "서명 인증서" 아래에 올바른 팀 ID가 나타납니다.
exportArchive cmd를 실행하고 AppStore에 업로드하는 Gitlab 파이프라인을 설정하는 동안 동일한 문제가 발생했습니다.빌드 설정에서 DEPLOVENT_TEAM을 Signing & Certs에서 선택한 팀으로 변경하여 작업할 수 있었습니다.
이전에는 기본적으로 다른 DEV TEAM ID를 사용하는 것이 잘못되고 일치하지 않는 공백으로 설정되어 있었고 "application-identifier" = 12331232.com .bannana.dll에 대해 불평했기 때문입니다.복숭아가 맞지 않습니다.그래서 정확한 DEV TEAM을 설정하고 작동했습니다.
Xcodever: 버전 11.3.1
이것이 누군가에게 도움이 되길 바랍니다.
설정
다중 대상:
- 하위 분류의
- 구경하세요
- 앱 클립
- 오늘 위젯
...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 Entitlement
에Build Settings
빈털터리로.entitlements
파일.
해결!
다음 위치에 있는 모든 프로필 삭제~/Library/MobileDevice/Provisioning Profiles/
저의 경우, 저는 다음을 넣어야 했습니다.
<key>aps-environment</key>
<string>development</string>
확장자가 있는 모든 파일에서.entitlements
저의 경우 --dart-define을 사용하여 하나의 코드 베이스에서 여러 개의 앱을 만들고 Float 앱에서 맛을 만들고 있습니다.https://stackoverflow.com/a/65292545/8787695 위의 댓글에 언급된 것처럼 한 가지만 제외하고는 모든 것을 제대로 수행했습니다.
빌드 설정(PRODUCT_BUNDLE_IDENTIFIER = com)에서 이미 app_dll을 작성했습니다.float.myapp$(APP_SUFIX)).그러나 번들 식별자에 대한 정보 탭에도 app_suffix라고 적었습니다.
제가 잘못된 값을 가지고 있었기 때문에 같은 문제가 있습니다.iCloud Key-Value Store
내부에entitlements
file. 다음 값을 설정했더니 오류가 해결되었습니다.
iCloud Key-Value Store = $(TeamIdentifierPrefix)$(CFBundleIdentifier)
이것을 제거한 것이 제 쪽의 문제를 해결했습니다.
OTHER_CODE_SIGN_FLAGS = "--deep";
주요 대상에는 이 빌드 설정이 있으며, 이러한 방식으로 임베디드 응용 프로그램의 코드 서명 권한을 상위 코드 서명 권한으로 덮어씁니다.
언급URL : https://stackoverflow.com/questions/46148523/profile-doesnt-match-the-entitlements-files-value-for-the-application-identifi
'programing' 카테고리의 다른 글
psql을 사용할 때 postgres에서 스키마를 선택하는 방법은 무엇입니까? (0) | 2023.05.02 |
---|---|
엑셀은 셀을 HTML로 해석할 수 있습니까? (0) | 2023.05.02 |
앱 설정을 통한 Azure Function 타이머 구성 (0) | 2023.05.02 |
안드로이드 앱을 개발하기에 가장 좋은 IDE는 무엇입니까? (0) | 2023.05.02 |
Git 병합 롤백 (0) | 2023.05.02 |