지난 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”가 있었고, 짜잔했습니다.
답변
답변
자격이 더 이상 앱 식별자에서 나오지 않고 앱 대상에서 선택한 기능에서 오는 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에서 동일한 이메일을 받았습니다. 문제를 해결하기 위해 내가 한 일은 다음과 같습니다.
- Capabilities> @Bruce Tsai 답변에 명시된대로 PUSH 알림을 ON으로 설정합니다.
- 빌드 설정> 코드 서명> 코드 서명 ID에서 이미지에 표시된대로 디버그 용 개발자 인증서와 릴리스 용 배포 인증서를 설정합니다.
답변
Firebase 프레임 워크를 사용하고 있고 푸시 알림을 사용하지 않는 경우 두 가지 해결책이 있습니다. 1. 바이너리를 업로드 할 때마다 전체 팀에 전송되는 ‘문제’메시지를 참고하세요. 실제로 알림을 사용하지 않는 한 앱은 여전히 제출로 허용되며 경고를 무시할 수 있습니다. 또는 2. 이렇게하십시오 : https://stackoverflow.com/a/46802075/7529450 . 이렇게하면 성가신 이메일 알림이 제거되고 제출로 수락됩니다.