[iphone] 앱의 푸시 알림 설정 재설정

푸시 알림이있는 앱을 개발 중입니다. 가능한 모든 사용자 상호 작용 방법을 확인하기 위해 사용자가 처음 시작하는 동안 내 앱에 푸시 알림을 사용하도록 설정하지 않은 경우 내 앱을 테스트하고 싶습니다.

그러나 대화 상자 (로 시작 registerForRemoteNotificationTypes)는 앱당 한 번만 나타납니다. 내 앱의 iPhone OS 메모리를 어떻게 재설정합니까? 앱을 삭제하고 다시 설치해도 도움이되지 않습니다.



답변

기술 노트 TN2265 : 푸시 알림 문제 해결

푸시 사용 앱이 처음으로 푸시 알림을 등록하면 iOS는 사용자에게 해당 앱에 대한 알림을받을 것인지 묻습니다. 사용자가이 경고에 응답하면 기기를 복원하거나 앱을 하루 이상 제거하지 않으면 다시 표시되지 않습니다.

앱의 최초 실행을 시뮬레이션하려면 하루 동안 앱을 제거 된 상태로 둘 수 있습니다. 시스템 시계를 하루 이상 앞으로 설정하고 장치를 완전히 껐다가 다시 켜면 실제로 하루를 기다리지 않고 후자를 얻을 수 있습니다.

업데이트 : 아래 의견에서 언급 했듯이이 솔루션은 iOS 5.1부터 작동을 멈췄습니다. Apple에서 문서를 업데이트 할 수 있도록 버그를 신고하는 것이 좋습니다. 현재 솔루션은 장치의 내용과 설정을 재설정하는 것 같습니다.

업데이트 : 기술 노트가 iOS 7부터 올바르게 작동하는 새로운 단계로 업데이트되었습니다.

  1. 기기에서 앱을 삭제합니다.
  2. 장치를 완전히 껐다가 다시 켜십시오.
  3. 설정> 일반> 날짜 및 시간으로 이동하여 하루 이상 날짜를 설정하십시오.
  4. 장치를 완전히 껐다가 다시 켜십시오.

iOS 9부터 업데이트

앱을 삭제하고 다시 설치하면 알림 상태가 재설정됩니다 notDetermined(즉, 프롬프트가 표시됨).

아래의 Gomfucius의 답변 덕분에
https://stackoverflow.com/a/33247900/704803


답변

이것 에 대한 솔루션을 테스트 하기 위한 또 다른 방법은 단순히 번들 ID를 변경하는 것입니다. 완료되면 다시 변경하는 것을 잊지 마십시오!


답변

iOS 9.0.2에서 앱을 삭제하고 다시 설치할 때마다 “푸시 알림 등록 알림”이 표시됩니다. 이는 AppStore 프로덕션 다운로드 및 임시 모드 모두에 해당됩니다.

업데이트 : 이것이 iOS 9.x에서 작동하는 것으로 확인되었습니다.


답변

이미 언급했듯이 장치의 앱에 대한 알림 상태를 재설정하는 방법은 iOS5에서 더 최신으로 변경되었습니다.

이것은 iOS6에서 저에게 효과적입니다.

  • 기기에서 앱 제거
  • 장치 날짜 시간을 이틀 이상 설정
  • 장치를 다시 시작
  • 장치 날짜 시간을 이틀 이상 설정
  • 장치를 다시 시작
  • 앱을 다시 설치하고 실행

그러나 이렇게하면 초기 프롬프트 만 다시 나타나게되며 다른 푸시 상태 관련 항목은 제거되지 않습니다.


답변

plist : /private/var/mobile/Library/RemoteNotification/Clients.plist

… 푸시 알림에 등록 된 클라이언트를 포함합니다. 앱 항목을 제거하면 프롬프트가 다시 나타납니다.


답변

프로그래밍 방식으로하면 매번 작동하는 것 같습니다. 다음 줄을 주석 처리하지 않은 빌드가 있습니다.

 [[UIApplication sharedApplication] unregisterForRemoteNotifications];

PN에서 등록을 취소 할 때마다 실행합니다. 최근 앱 목록에서 앱을 명시 적으로 종료하고 설정 앱의 알림 센터를 사용하여 제대로 작동해야 할 수 있습니다.

또한 사용자에게 PN 등록을 요청하는 UI 프롬프트가 표시되지 않을 수 있습니다. 최신 iOS 버전에서 사용 중지되었는지 확실하지 않습니다.


답변

ianolito가 말했듯이 날짜 설정은 효과가 있습니다.

시스템 시계를 하루 이상 앞으로 설정하고 장치를 완전히 끈 다음 장치를 다시 켜면 실제로 하루를 기다리지 않고 후자를 얻을 수 있습니다.

내 기기 (iPhone 4, iOS 6.1.2) 에서 하루 또는 몇 일 동안 시스템 시계를 설정해 도 작동하지 않는 것으로 나타났습니다 . 그래서 날짜를 한 달 앞으로 설정 한 다음 작동했고 응용 프로그램에 알림 메시지가 다시 표시되었습니다.

이것이 누군가에게 도움이되기를 바랍니다. 머리가 아플 수 있습니다!