제출시 Xcode 8“앱 서명에 aps-environment 자격이 없습니다.”


118

지난 6 개월 동안 수십 개의 버전을 제출 한 앱이 있으며 APNS를 사용합니다. Xcode 8로 업그레이드 한 후 Apple에서 다음 이메일을 받았습니다.

개발자 님,

APP_NAME에 대한 최근 전송에서 하나 이상의 문제를 발견했습니다. 배송이 성공적으로 이루어졌지만 다음 배송에서 다음 문제를 수정하는 것이 좋습니다.

푸시 알림 자격 누락-앱에 Apple의 푸시 알림 서비스에 대한 API가 포함되어 있지만 앱 서명에서 aps-environment 자격이 누락되었습니다. 이 문제를 해결하려면 프로비저닝 포털에서 푸시 알림에 대해 앱 ID가 활성화되어 있는지 확인하십시오. 그런 다음 aps-environment 자격이 포함 된 배포 프로비저닝 프로필로 앱에 서명합니다. 그러면 올바른 서명이 생성되고 앱을 다시 제출할 수 있습니다. 자세한 내용은 로컬 및 푸시 알림 프로그래밍 가이드의 "프로비저닝 및 개발"을 참조하십시오. 앱이 Apple 푸시 알림 서비스를 사용하지 않는 경우에는 조치가 필요하지 않습니다. 이 경고를 중지하려면 향후 제출에서 API를 제거 할 수 있습니다. 타사 프레임 워크를 사용하는 경우

문제를 수정 한 후 Xcode 또는 Application Loader를 사용하여 새 바이너리를 iTunes Connect에 업로드 할 수 있습니다.

문안 인사,

App Store 팀

이상한 점은 developer.apple.com- > 인증서, 식별자 및 프로필에 갔고 내 AppId에 푸시 알림이 여전히 활성화되어 있다는 것입니다. 나는 내가 해본 것과 다른 것을하고 있지 않으므로 Xcode 8 업데이트가 뭔가를 망쳤는지 궁금합니다. 어떤 아이디어?

BTW : 푸시 알림 프로그래밍 가이드에 넣은 링크가 이메일에서 깨져서 좋은 징조가 아닙니다.

답변:


156

사실 아주 쉽습니다. 어떤 이유로 Xcode 8에서 비활성화되었지만 Targets-> Capabilities로 이동하여 해당 뷰에서 Push Notifications가 모두 올바른지 확인하십시오. 나를 위해 클릭해야하는 "Fix Me"가 있었고, 짜잔했습니다.


4
이 문제에 대한 이상한 점은 해결책이 아니라 Xcode 7에서 이것이 활성화되었고 업그레이드 후에 비활성화되었다는 사실이었습니다.
Unome 16. 9.

2
또한 권한 파일로 이동하여 APS 환경 값을 '프로덕션'으로 변경해야했습니다. 생성시 기본적으로 '개발'으로 설정 되었기 때문입니다.
Bek

61
최근 애플에 고용 된 두뇌가없는 사람들이있을 텐데 .. 왜 그들은 기본적으로 사물을 비활성화하고 그것에 대해 경고없이 부적절한 값을 암시 적으로 설정함으로써 개발자들의 시간을 잃어 버리고 있습니다. 본인은 짜증나는 일을, 프로필, 인증서를 만들고 디버깅 및 한 날 잃었어요 ..
흐리 스토 아타나 소프

3
드디어! 작동하도록 만드는 것이 너무 어려웠습니다. 거의 5 시간 동안 인증서 / 프로필을 제거하고 다시 작성했습니다. 좋은 점은 지금이 인증서 / 프로필 / 식별자가 무엇인지 완전히 이해하고 있다고 말할 수 있다는 것입니다. :)이 힌트에 감사드립니다.
Kamil Rykowski 16.10.16

4
@bek 당신은 아마 그것을 개발로 남겨 두어야한다는 점에 유의하십시오. iTunes Connect에 업로드하면 자동으로 프로덕션으로 변경됩니다.
Montdidier

84

나는 또한 같은 문제가 있으며 Xcode8에서 푸시 알림이 기본적으로 꺼져 있다고 확신합니다. 나는 그것을 몰랐다. 조심하세요.

능력


내 계정에 푸시 알림 섹션이없는 이유를 말씀해 주시겠습니까?
Anuj

28

자격이 더 이상 앱 식별자에서 나오지 않고 앱 대상에서 선택한 기능에서 오는 Xcode 8이 변경되었습니다. 따라서 Unome (OP)이 말했듯이 푸시 알림이 켜져 있는지 확인해야합니다.

저에게는 "Fix Me"버튼이 아니었지만 두 개의 인 타이틀먼트 파일이있었습니다 (하나는 개발 용이고 다른 하나는 배포 용). 푸시 알림 기능을 토글하면 aps-environment값과 함께 키 development가 개발 자격 파일에 추가되지만 배포 자격 파일에는 추가되지 않습니다. 동일한 키를 배포에 복사하면 iTunes Connect에 업로드 할 때 경고 이메일이 제거되었습니다.

대부분의 프로젝트에서 푸시 알림을 켜는 것으로 충분해야합니다. 이미 켜져 있지만 키가 권한에없는 경우 켜고 끄십시오.


이것은 내가에있어 보트, 내가 내에서 지정 상관없이 것을 제외하고 .entitlements현재 설정 / 계획에 대한 파일이 항상 사용 production은 AS aps-environment.
Albert Bori 2016 년

기능의 푸시 알림을 토글하면 내 Xcode 8이 충돌합니다!
디제이

2
@AlbertBori Weird, 나는 단지 개발을 보여주기 위해 그것을 얻을 수 있었는데, 그것은 아카이브했을 때 production.
timgcarlson

6
@meteors 값이이면 괜찮습니다 development. 프로젝트가 보관 될 때 ipa에서 변경됩니다.
timgcarlson

2
@timgcarlson 이것은 실제로 보관 중에 발생하지 않습니다. 제출 중 또는 내보낼 때 발생합니다. 또한 유용한 정보가 제대로 여기에 설정되는 확인 : developer.apple.com/library/content/qa/qa1798/_index.html
마크 레너드

27

Xcode 릴리스 정보에서 :

Xcode 8은 빌드시 프로비저닝 프로파일에서 aps-environment 인 타이틀먼트를 자동으로 복사하지 않습니다. 이 동작은 의도적 인 것입니다. 이 권한을 사용하려면 프로젝트 편집기의 기능 창에서 푸시 알림을 활성화하거나 권한 파일에 권한을 수동으로 추가합니다. (28076333)

aps-environment 자격이 plist를 필요로하지 않았지만 다른 많은 사람들이 필요하다는 것이 항상 매우 이상했기 때문에 이것은 큰 변화입니다.

맹목적으로 "Fix Me"를 누르는 것을 원하지 않고 현재 인 타이틀먼트 파일이없는 경우 "Code Signing Entitlements"아래에있는 프로젝트의 빌드 설정에서 참조되는 plist 파일 일뿐입니다.


1
링크 된 노트에서 그 인용구를 찾을 수 없습니다!
Iulian Onofrei 2016

누가 내 댓글을 올렸는지, 무엇이 잘못되었는지는 모르겠지만 지금도 찾을 수 있습니다.
Iulian Onofrei

13

Xcode 8과의 고투 끝에 우리는 aps-environment개발이 디버그 빌드에 추가되지 않은 이유를 파악할 수 없었습니다 . 디버그 테스트를 위해 빌드 된 앱의 권한 섹션에서 누락되었습니다. 새 기능을 활성화하고 권한 파일이 존재했지만 ... 문제는 디버그 권한을위한 Xcode 빌드 설정에서 모든 SDK에 대한 권한 파일을 설정해야한다는 것입니다.

스크린 샷


후자는 특정 SDK에 대한 값을 재정의하는 데 사용되기 Debug때문에 키 값을 설정하는 것과 Debug> Any SDK하나에 대해 설정하는 것 사이에는 차이가 없다고 생각 합니다.
Iulian Onofrei 2016

이것은 나를위한 솔루션입니다
Himanth

아침 내내 이것으로 고생 한 후, 이것이 내가 가진 문제였습니다. 기능 전환, 프로비저닝 프로파일 생성, 아무것도 작동하지 않았습니다. 그랬다.
Dave S

이것은 Xcode 8.3.3에서 일부 경우에 여전히 유효한 솔루션입니다
dan

나는 이것을 백만 번 찬성 할 수 있기를 바랍니다. 나는 일주일 동안 어려움을 겪었고 이것이 해결책이었습니다. 상단의 코드 서명 권한에 파일 경로를 입력하는 것만으로는 충분하지 않았으며 "모든 SDK"부분에서도 수행해야했습니다. 이것이 나를 위해 그것을 해결하는 열쇠였습니다.
Robert Bentley

7

XCode 7.3.1을 사용하여 Apple에서 동일한 이메일을 받았습니다. 문제를 해결하기 위해 내가 한 일은 다음과 같습니다.

  1. Capabilities> @Bruce Tsai 답변에 명시된대로 PUSH 알림을 ON으로 설정합니다.
  2. 빌드 설정> 코드 서명> 코드 서명 ID에서 이미지에 표시된대로 디버그 용 개발자 인증서와 릴리스 용 배포 인증서를 설정합니다.

여기에 이미지 설명 입력 여기에 이미지 설명 입력


안녕하세요, Capabilities에서 Capabilities> Set PUSH notification
Anuj

@Anuj, Xcode에 있어야 할 화면 촬영을 추가했습니다.
Ruben

5

Firebase 프레임 워크를 사용하고 있고 푸시 알림을 사용하지 않는 경우 두 가지 해결책이 있습니다. 1. 바이너리를 업로드 할 때마다 전체 팀에 전송되는 '문제'메시지를 참고하세요. 실제로 알림을 사용하지 않는 한 앱은 여전히 ​​제출로 허용되며 경고를 무시할 수 있습니다. 또는 2. 이렇게하십시오 : https://stackoverflow.com/a/46802075/7529450 . 이렇게하면 성가신 이메일 알림이 제거되고 제출로 수락됩니다.


4

자동으로 서명 관리가 해제되었습니다.

자동으로 서명 관리가 꺼져 있었고 확인하고 잘 작동했습니다.


3

Xcode 9 푸시 알림 사용이 활성화되었습니다.

푸시 알림 기능을 비활성화 / 재 활성화 해 보았습니다 . (작동하지 않음)

자동으로 서명 관리를 비활성화 / 다시 활성화 해 보았습니다 . (작동하지 않음)

프로비저닝 프로파일을 삭제하고 다시 추가해야했습니다. ( 방법은 여기 참조 ) 와드 후 자동으로 서명 관리 를 비활성화 / 다시 활성화해야 할 수 있습니다 .


2

나에게 문제는이 개 자격의 파일이 있었기 때문이었다 : Entitlements-Debug.plistEntitlements-Release.plist. 그리고 그중 하나 (디버그)에만 필요한 설정이 있습니다.

Build Settings> Signing> Code Signing Entitlements 의 여러 값을 단일 MyAppName/MyAppName.entitlements로 변경 한 다음 Capabilities> Push Notifications 스위처 를 다시 활성화 하면 트릭이 생겼 습니다.

도움이 되었기를 바랍니다.


0

효과가있는 또 하나의 옵션 :의 소스 AppName/Entitlements-Debug.plistAppName/Entitlements-Release.plist.

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