그래서 저는 약 한 달 전에 발표 한 Dripper라는 앱이 있고 며칠 전에 업데이트되었습니다. 업데이트는 푸시 알림과 약간의 조정을 추가했습니다. 개발 프로필을 사용하여 sandbox-apn으로 테스트했으며 모든 것이 잘 작동했습니다. 그런 다음 프로덕션 APN으로 전환하고 테스트 비행으로 푸시했는데 다시 완벽하게 작동했습니다. 시장에 업데이트를 게시하고 실행 한 후 서버에서 새로운 푸시 등록을받지 못하는 것을 알았습니다. 장치의 콘솔 로그를 살펴본 결과 다음을 발견했습니다.
12 월 4 일 17:55:15 Ina-touch-it coffco [1210] : 원격 알림 등록
12 월 4 일 17:55:15 Ina-touch-it SpringBoard [52] : 애플리케이션에 유효한 ‘aps-environment’자격 문자열이 없습니다. ‘Dripper’: (null). 알림이 전달되지 않습니다.
12 월 4 일 17:55:15 Ina-touch-it coffco [1210]<Warning>: Failed to register with error : Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x174270900 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}
프로덕션 APN이 애드혹 빌드와 앱 스토어 빌드간에 동일하게 작동 할 것이라고 생각했기 때문에 약간 혼란 스럽습니다.
내 앱 ID와 권한-> http://i.stack.imgur.com/uf4pB.png
다음은 앱 스토어의 프로비저닝 프로파일입니다-> http://i.stack.imgur.com/AYOV5.png
답변
답변
이 문제를 다음과 같이 수정했습니다.
- Xcode “기본 설정”으로 이동
- “계정”탭으로 이동
- 내 Apple ID를 선택하고 “세부 정보보기”를 클릭합니다.
- 새로 고침하려면 왼쪽 하단의 화살표를 클릭하세요.
- “완료”를 클릭하십시오.
그리고 다시 시도하십시오!
출처:
답변
답변
이러한 문제는 현재 프로비저닝 프로파일에 APNS 정보가 포함되어 있지 않기 때문입니다. 프로비저닝 프로파일은 APNS 인증서를 생성하기 전에 생성되기 때문입니다.
따라서 문제를 해결하려면 새 프로비저닝 프로파일을 생성하고 Xcode에서 프로비저닝 프로파일을 선택하십시오. 그러면 완료됩니다.
또한 푸시를 추가하면 키 체인의 인증서도 업데이트 한 것 같습니다.
답변
Xcode 9와 관련하여 일부 답변은이 특정 문제를 해결하기 위해 오래되었거나 불완전합니다.
나를 위해 따라야 할 단계는 다음과 같습니다.
1. 프로비저닝 프로필 생성
( FCM은 푸시 알림 의 전제 조건 은 아니지만 가이드는 놀랍도록 명확합니다. 여기에 링크가 있습니다. )
개발 중에 앱을 테스트하려면 아직 App Store에 게시되지 않은 앱을 실행할 수 있도록 장치에 권한을 부여하는 개발 용 프로비저닝 프로파일이 필요합니다.
- Apple Developer Member Center로 이동하여 로그인합니다.
- 인증서, 식별자 및 프로필로 이동합니다.
- 왼쪽 상단 모서리에있는 드롭 다운 메뉴에서 iOS, tvOS, watchOS가 아직 선택되지 않은 경우 선택하고 프로비저닝 프로파일> 모두로 이동합니다.
- + 버튼을 클릭하여 새 프로비저닝 프로필을 만듭니다.
- 프로비저닝 프로파일 유형으로 iOS 앱 개발을 선택한 다음 계속을 클릭하십시오.
- 드롭 다운 메뉴에서 사용하려는 앱 ID를 선택한 다음 계속을 클릭합니다.
- 이전 단계에서 선택한 앱 ID의 iOS 개발 인증서를 선택한 다음 계속을 클릭합니다.
- 프로비저닝 프로파일에 포함 할 iOS 기기를 선택한 다음 계속을 클릭합니다. 테스트에 사용할 모든 장치를 선택해야합니다.
- 이 프로비저닝 프로필의 이름 (예 : Firebase 샘플 앱 개발 프로필)을 입력 한 다음 생성을 클릭합니다.
- 다운로드를 클릭하여 프로비저닝 프로파일을 Mac에 저장합니다.
- 프로비저닝 프로필 파일을 두 번 클릭하여 설치합니다.
2. 푸시 알림 기능 활성화
- 공식 매뉴얼 에서 프로젝트 편집기로 이동
- 기능 섹션에서 푸시 알림 활성화
답변
iOS 8.0 이상 버전을 사용하여 동일한 문제가 발생했습니다. 장치 토큰을받지 못했고 “응용 프로그램에 유효한 ‘aps-environment’자격 문자열이 없습니다.”라는 오류 메시지가 표시되었습니다.
아래 단계를 사용하여 수정했습니다.
- 앱 ID에 대한 새 프로비저닝 프로필을 만들었습니다.
- xcode에 추가
- 프로젝트 Xcode “기본 설정”으로 이동
- “계정”탭으로 이동하여 내 Apple ID를 선택하고 “세부 정보보기”를 클릭합니다.
- 프로비저닝 프로필 선택
- 새로 고침하려면 왼쪽 하단의 화살표를 클릭하세요.
- “완료”를 클릭하십시오.
이제 프로젝트를 실행하면 제대로 작동합니다.
답변
어떤 이유로 Wei의 솔루션이 저에게 효과가 없었습니다. 권한 수정을 클릭 할 때 Xcode는 두 개의 파일을 생성했지만 여전히 작동하지 않았습니다. 실제로 생성 된 권한 파일은 비어있었습니다.
이것은 (분명히) 프로젝트의 PRODUCT_NAME이 다소 길고 공백과 “ä”및 “ö”문자를 포함하여 발생했습니다. 영어로만 된 짧은 버전으로 변경 한 후 Wei의 수정이 올바르게 작동했습니다.