program tip

xcode 8 푸시 알림 기능 및 권한 파일 설정

radiobox 2020. 11. 22. 19:18
반응형

xcode 8 푸시 알림 기능 및 권한 파일 설정


사용하는 경우 xcode 8푸시 알림 설정을하고, 달리 xcode 7, xcode 8푸시 알림에 필요 개발자 턴이 기능은 (에있는 스위치 TARGETS -> AppName -> Capabilities, 다음 그림과 같이)푸시 알림 기능

그런 다음 다음과 같이 AppName.entitlements 파일을 생성합니다.

//AppName.entitlements
<key>aps-environment</key>
<string>development</string>

그러나 프로덕션 버전 App의 경우 문자열을

//AppName.entitlements
<key>aps-environment</key>
<string>production</string>

그러면 Capabilities가 경고를 표시합니다.

기능 경고

aps-environment에 지정된 문자열 값에 관계없이 여전히 푸시 장치 토큰을 가져올 수 있습니다. application:didRegisterForRemoteNotificationsWithDeviceToken:

그렇다면 푸시 알림 권한의 올바른 설정은 무엇입니까? 감사합니다


나는 오늘 Xcode 8 GM에서 어려움을 겪고있었습니다. 설정을 비활성화하고 개발자 포털 프로비저닝 프로필을 삭제하고 다시 생성 한 후 설정을 다시 활성화 한 후 Xcode에서 경고를 제거 할 수있었습니다. 인 타이틀먼트 파일을 조작하지 않았습니다. 개발 환경에 남겨두고 보관 후 올바른 aps-environment 설정 (프로덕션)을 얻었습니다.

Xcode는 GM에서도 여전히 버그가 많은 것 같습니다.


내 문제는 내 푸셔 클라이언트가 오래되어 성공적으로 디버그 토큰을 푸시한다는 것입니다. 내가 여전히 수정 작업을하고있는 다른 문제는 레거시 API가 활성화 된 체육관을 통해서만 앱을 내보낼 수 있다는 것입니다. 이것은 apns-environment를 'production'으로 설정하지 않고 'development'로 남겨 두는 것이 아닙니다. Embedded-mobile.provision '파일. 그러나 이제 xcode Organizer를 통해 앱을 성공적으로 배포하여 apns (prod)로 작업 할 수있었습니다.


더 나은 해결책은 프로젝트 패키지를 열고 project.pbxproj

변경 CODE_SIGN_ENTITLEMENTS

CODE_SIGN_ENTITLEMENTS = "your-app/production.entitlements";

참고 URL : https://stackoverflow.com/questions/39266891/xcode-8-push-notification-capabilities-and-entitlements-file-setting

반응형