2017-10-28 13 views
0

UNNotificationServiceExtension을 사용하는 응용 프로그램에서 작업하고 있습니다. 대부분의 시간 (90 %와 비슷한) 내 확장 프로그램이 올바르게 실행되고 연결을 백엔드로 만든 다음 알림을 표시합니다. 그러나 때로는 확장 프로그램이 전혀 실행되지 않고 시스템이 알림 내부에 원래 메시지를 표시하는 것처럼 보입니다. 왜 이런 일이 생길까요? 모든 알림에는 확실히 1로 설정된 변경 가능 콘텐츠 키가 포함되어 있습니다.UNNotificationServiceExtension이 실행되지 않는 경우가 있음

답변

0

UNNotificationServiceExtension을 구현할 때 동일한 문제가 발생합니다. 내 문제는 추가 콘텐츠를

Here is the link

귀하의 확장을로드 할 내용을 수정하고의 ContentHandler 블록을 실행하는 시간 (더 이상 30 초 이내) 의 제한된 양을 가지고 주어진 시간 제한했다. 블록을시기 적절하게 실행하지 않으면 시스템에서 확장 프로그램의 serviceExtensionTimeWillExpire() 메소드를 호출하여 블록을 마지막으로 실행할 기회를 에게 줄 수 있습니다. 그렇게하지 않으면 시스템에서 알림의 원래 내용을 사용자에게 으로 표시합니다. 당신이 동일한 문제가 있다고 확인하려면

, 당신은 방법을 다음 구현하고 UNNotificationServiceExtension이 살아 초의 금액을 추가하여 특정한 방식

func serviceExtensionTimeWillExpire() 

의 내용을 변경할 수 있습니다, 나는 발견 가끔 시스템 돈 30 초를 줄 수도있어.

+0

처음에는 같았지만 일부 로깅을 추가 한 후에 didReceive 호출이 기록되지 않고 있음을 알 수있었습니다. 따라서 메서드가 전혀 호출되지 않거나 문자열을 파일에 쓸 수 있기 전에 종료됩니다. – hedunky