푸시 알림 자격 경고 누락
앱 ID, 배포 인증서 및 프로비저닝 프로필을 만들었습니다. 푸시 알림은 처음에 활성화되지 않았습니다.
이제 앱에서 푸시 알림을 구현해야합니다.
앱 D에서 푸시 알림을 활성화하고, 프로비저닝 프로파일을 확인하고, 프로비저닝 프로파일이 유효하지 않았는지, 업데이트했으며, 다음 번에 사용할 수 있도록 최신 프로비저닝 프로파일을 다운로드했습니다.
그런 다음 APNS를 통한 푸시 알림 용 API를 코드에 통합합니다.
iTunesConnect에 앱을 업로드하면 Apple에서 다음 이메일을받습니다.
개발자 님,
"Swanvi"에 대한 최근 전송에서 하나 이상의 문제를 발견했습니다. 배송이 성공적으로 이루어졌지만 다음 배송에서 다음 문제를 수정하는 것이 좋습니다.
푸시 알림 권한 누락-앱에 Apple 푸시 알림 서비스에 등록하는 데 사용되는 API가 포함 된 것으로 보이지만 앱 서명의 권한에 "aps-environment"권한이 포함되어 있지 않습니다. 앱에서 Apple 푸시 알림 서비스를 사용하는 경우 프로비저닝 포털에서 푸시 알림에 대해 앱 ID가 활성화되어 있는지 확인하고 "aps-environment"권한이 포함 된 배포 프로비저닝 프로파일로 앱에 서명 한 후 다시 제출하십시오. 자세한 내용은 로컬 및 푸시 알림 프로그래밍 가이드의 "프로비저닝 및 개발"을 참조하십시오. 앱이 Apple 푸시 알림 서비스를 사용하지 않는 경우에는 조치가 필요하지 않습니다. 이 경고를 중지하려면 향후 제출에서 API를 제거 할 수 있습니다. 타사 프레임 워크를 사용하는 경우
문제를 수정 한 후 Xcode 또는 Application Loader를 사용하여 새 바이너리를 iTunes Connect에 업로드 할 수 있습니다.
앱 ID를 다시 확인했습니다. 푸시 알림은 개발 및 프로덕션에 사용할 수 있습니다.
프로비저닝 프로필에 푸시 알림 옵션이 표시됩니다.
이메일을 통해이 경고를받는 이유는 무엇입니까?
두 가지가 필요 합니다. Xcode 계정과 developer.apple 계정에서 사용하는 프로비저닝 프로필입니다.
프로비저닝 프로파일에 관한 모든 것.
1 단계 :로 이동 https://developer.apple.com/account/ios/certificate/ 및 참조 Active
앱에 필요한 아이폰 OS 배포 프로비저닝 프로파일. 그런 다음 그것을 클릭 Enabled Services
하고 Push Notification
활성화 되었는지 확인하십시오 . 그렇지 않은 경우 편집을 클릭하고 Apple에서 제공하는 단계에 따라 활성화하십시오. 활성화되면 완벽합니다.
2 단계 :Invalid
앱과 관련된 모든 프로비저닝 프로파일을 삭제합니다 (앱에 대해 유효하지 않은 프로파일 만). 다음 단계에서 이유를 알려 드리겠습니다.
3 단계 : Xcode-> 기본 설정-> 세부 정보보기 (계정 용)-> [선택 사항 : 유효하지 않은 프로파일이 제거되었는지 확인하려면 프로비저닝 프로파일을 rt- 클릭하고 "Show in Finder"를 선택한 다음 삭제 / 이동 해당 폴더의 모든 프로비저닝 프로파일.] 이제 모든 프로파일 다운로드를 클릭하십시오. 그러면 로컬 프로비저닝 프로파일이 현재 프로파일로 대체됩니다. DONE을 클릭하십시오.
4 단계 : 앱 타겟-> 빌드 설정-> 코드 서명으로 이동하여 프로비저닝 프로필을 확장하여 표시 Debug
하고 Release
탭합니다. 기본적으로 자동으로 설정됩니다 (이것이 앱이 2 단계에서 방금 삭제 한 잘못된 프로필을 자동으로 사용하는 이유입니다). 의 경우 Release
더 안전한 쪽이 되려면 Active
1 단계에 표시된대로 푸시 알림이 활성화 된 프로비저닝 프로필을 선택합니다 .
그게 다야.
지금은 이메일을받지 않아야합니다.
@Djeeraj VS가 정확합니다. Cordova는 푸시 알림이 필요하지 않은 앱에 대한이 요구 사항을 제거하기 위해 몇 가지 조건부 컴파일을 추가했습니다.
당신은에서의 코드를 주석 수 Classes\AppDelegate.h
에 따라 이 대답 , 그러나 그것의 더 나은 컴파일 기호를 추가 할 DISABLE_PUSH_NOTIFICATIONS
향후 코르도바 업그레이드 혜택을 계속 할 수 있도록 UI를 통해.
나는 .NET 배경에서 왔기 때문에 조건부 컴파일에 익숙하지만 XCode에서 컴파일러 플래그를 작동시키는 방법을 알아내는 데 약간의 시간을 소비해야했습니다.
여기서 마법의 단어는 '전 처리기 매크로'입니다. 다음은 UI를 통해 그래픽으로 수행되는 방법입니다 (이는 XCode 6.1에서 수행되는 방식입니다).
이것이 같은 상황에있는 다른 사람들에게 도움이되기를 바랍니다.
제 경우에는 프로젝트 속성 내에서 'Capabilities'페이지를 다시 확인하고 해당 APNS 메뉴에서 'fixed issue'를 눌렀습니다. 이제 이렇게 생겼어요
XCode 11. 기능 버튼 (+)을 눌러 처리하려면
나는 동일한 경고를 받았으며 여기에 내가 그것을 해결 한 방법이 있습니다.
우선 프로젝트를 보관할 때 aps-environment 가 표시되지 않고 앱이 푸시 알림을 사용하는 경우 권한 아래 에 질문에 언급 된 경고가 표시됩니다.
수정 단계
1- Make sure your distribution profile is valid in Apple's Portal. - If it's not, then regenerate it. 2- If your distribution profile is valid, then in XCode, navigate to Preferences and then click View Details. At this point under Provisioning Profiles, make sure you don't have invalid distribution provisioning files. If there are invalid ones, then make right click and move them to trash. If you don't have the valid one, then download it from the Portal. 3- Go to Build Settings -> Code Signing and for everything choose the distribution provisioning profile.
At this point if you archive, you can see aps-environment in your entitlements and the warning email won't come.
In my case, following practice worked. Xcode 9.2
Automatically manage signing
에 나타나는 비활성화 됨Build Target > Signing
- 프로비저닝 프로파일을 수동으로 가져옵니다.
이전에 알림을 받았지만 앱에서 제거하고 싶었던 Cordova 앱이 있습니다. 위의 답변을 따라 시도했지만 빌드를 업로드 할 때 여전히이 문제가 발생했습니다. 나는 내가 플러그인을 설치했고, 누가 알림 설정을 사용했는지, 그리고 어떻게 든 알림 설정을 활성화했다는 것을 깨달았다.
ios 플랫폼을 완전히 제거하고 cordova platform rm ios
다시 추가 cordova platform add ios
하고 ios.json
및 fetch.json
파일 에서 플러그인이 제거되었는지 확인 하여 문제를 해결했습니다 .
참고 URL : https://stackoverflow.com/questions/27945557/missing-push-notification-entitlement-warning
'Program Tip' 카테고리의 다른 글
Go 프로그래밍에서 [] byte를 int로 변환하는 방법 (0) | 2020.11.28 |
---|---|
favicon.ico 파일을 루트가 아닌 경로에 넣는 것이 나쁜 생각입니까? (0) | 2020.11.28 |
NUnit으로 데이터베이스 관련 코드를 어떻게 테스트합니까? (0) | 2020.11.28 |
Bittorrent 프로토콜 구현 (0) | 2020.11.28 |
Maven에서 사용되지 않거나 선언되지 않은 종속성은 무엇입니까? (0) | 2020.11.28 |