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

지난 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 : 푸시 알림 프로그래밍 가이드에 넣은 링크가 이메일에서 깨져서 좋은 징조가 아닙니다.



답변

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


답변

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

능력


답변

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

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

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


답변

Xcode 릴리스 정보에서 :

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

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

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


답변

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

스크린 샷


답변

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

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

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


답변

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