내가 생각할 수있는 유일한 방법은 알림 확장 프로그램을 앱에 추가하는 것입니다. "알림 서비스 확장"및 "알림 콘텐츠 확장"의 두 가지 유형이 있습니다.
두 가지 모두 원래 의도 된 것이지만이 두 가지 모두 방법 didReceive(_:withContentHandler:)
을 구현할 수 있기 때문에이 두 가지 시나리오 모두에서 작동 할 수 있습니다. 앱이 백그라운드에있는 경우 수신하고 응답 할 수 있습니다. 공고.
은 내가 "알림 서비스 확장"사용하는 것이 좋습니다 (원래 표시하기 전에 통지의 내용 권한을 변경하는 의미가있어,하지만 당신은 수정되지 않은 그것을 떠날 수), 그리고 didReceive(_:withContentHandler:)
방법을 구현. 동일한 원본 알림을 사용하여 콘텐츠 처리기를 호출하고 CloudKit 업데이트를 트리거하기 만하면됩니다.
다음은 서비스 확장을 추가하는 방법에 대한 좋은 튜토리얼입니다 : 그 부분 "3. 확장 코드"에서 https://code.tutsplus.com/tutorials/ios-10-notification-service-extensions--cms-27550
이 메소드를 구현하는 방법의 예, 그건 "// Edit properties of copy
을"라는 코멘트와 함께, 거기에 정확히 어디서 CloudKit 업데이트를 트리거 할 코드를 추가 할 것인가, 앱이 백그라운드에있을 때마다 알림을 표시하기 바로 전에 실행됩니다.
CloudKit을 사용하는 경우 'didReceiveRemoteNotification : completionHandler' 앱 대리자 메서드를 사용할 수 있습니다. – Paulw11
글쎄, 실제로 원격 알림을 사용하지는 않습니다. 내 * local * 통지가 데이터베이스에'add' 연산을하는 함수를 트리거하기를 원합니다. – mlecoz
iOS에서 사용할 수있는 시간별 배경 실행 모드가 없습니다. – Paulw11