2017-03-10 2 views
2

CloudKit에 푸시 알림을 통합하여 iCloud의 모든 변경 사항이 내 iPhone에 알림을 표시하고 배지 앱 아이콘 번호가 해당 알림을 추가합니다. 내가 코드를 사용하는 경우에는, :배지 앱 아이콘 번호를 재설정하는 방법은 무엇입니까?

application.applicationIconBadgeNumber = 0

applicationDidBecomeActive(_ application: UIApplication)에 그 번호를 재설정하기를, 나는 배지 응용 프로그램 아이콘 번호가 진정으로 사라진 것으로 나타났습니다하지만 또 다른 새로운 통지가 다시 온 경우, 수에서 시작되지 않습니다 한 번 다시 가정하지만 리셋 전에 원래 총 숫자 하나를 추가하십시오. 따라서 숫자가 점점 더 커지고 있습니다. 이 문제를 어떻게 해결할 수 있을지 궁금합니다.

답변

1

나는 나는 단지와 같은 응용 프로그램 측을 설정할 것을 찾을 수 있습니다. 따라서 전체 코드는 다음과 같습니다.

3

문제는 이상 1, 당신은뿐만 아니라 페이로드를 재설정해야 배지 수 를 포함하여 APNS 페이로드입니다.

application.applicationIconBadgeNumber = 0으로 설정하면 서버가 아닌 로컬로만 배지 수가 재설정됩니다.

해결 방법은 서버의 사용자도 배지 수를 재설정합니다.

업데이트 : 앱이 배지 위의 APNS 페이로드와 동일한 계산을 보여줍니다

{ 
    "aps" : { 
     "alert" : { 
      "title" : "Push", 
      "body" : "Hello User" 
     }, 
     "badge" : 5 
    } 

} 

APNS 페이로드, 당신은 서버에서 위의 페이로드에 배지 값을 다시 설정해야합니다.

희망이 있습니다.

건배.

UIApplication.sharedApplication().applicationIconBadgeNumber = 0 

그러나 나는 또한 CKContainer에서 아이 클라우드 측을 설정해야합니다

+0

나는 무엇을 의미하는지 알고 있지만 서버 측을 재설정하기위한 특정 코드를 표시 할 수 있습니까? 나는 어떤 방법을 시도했지만 그들 중 누구도 일하지 않습니다. – Jaheny

+0

@Jaheny 앱에서 사용해야하는 일부 API가 있어야합니다. 푸시는 서버 응용 프로그램을 통해 보내지 만 보내지 않으면 서버에서'apns' 메시지를 작성할 때 배지 카운트를 처리하는 일부 데이터베이스를 사용해야합니다.'내 업데이트를 확인하십시오. 어떻게 apns 페이로드가 생겼는지 확인합니다. ' 그것을 바꿀 곳. – iphonic