2013-05-27 1 views
0

Google은 기본 캘린더 응용 프로그램과 같은 iOS 애플리케이션을 개발 중입니다. 응용 프로그램은 기본 달력 데이터베이스의 데이터를 동기화합니다. 또한 시작 시간 (예 : 10 분 전) 이전에 각 캘린더 항목/회의에 대한 로컬 알림을 트리거합니다.iOS 알림을 백그라운드에서 수신 :: 로컬 알림

누군가가 우리가 직면 한 아래의 문제를 도와주십시오.

1) 기본 캘린더 데이터베이스에 변경 사항이 생기면 애플리케이션이 즉시 업데이트되도록하려면 어떻게해야합니까? 새로운 회의가 있거나 기존 회의가 재조정 될 때마다 사용자 정의 코드가 호출되기를 바랍니다. 애플리케이션 포 그라운드 알림을 구독하면이 기능을 사용할 수 있지만 애플리케이션이 백그라운드에서 실행되는 동안에도 코드를 실행할 수 있음을 알고 있습니다.

2) 모든 회의가 시작되기 10 분전에 로컬 알림을 트리거하는 가장 좋은 방법은 무엇입니까? 백그라운드 서비스를 실행하고 다음 10 분 동안 회의가있을 경우 정기적으로 점검해야합니까? 또는 모든 지역 알림을 즉시 예약해야합니까? 그러나이 경우에는 앱이 백그라운드에 있거나 새로운 미팅이있을 때 회의 일정을 다시 잡을 수있는 방법을 잘 모릅니다.

답변

0

당신은이 답변을 좋아하지 않을 것입니다. 비 탈옥 환경에서 답변은 다음과 같습니다

1) 할 수 없습니다

2) 유일한 선택은 한 번에 모든 회의를 예약하는 것입니다,하지만 당신이 언급 한 문제에 대한 개방을 떠난다.

1
  1. 당신은 당신의 앱이 백그라운드에서 실행 의 categorie에 해당되지 않기 때문에, 할 수 없습니다.
  2. iOS에서 백그라운드 서비스 을 실행할 수 없으므로 앱이 실행 중일 때 로컬 알림을 예약해야합니다. 그러나 최대 64 개의 예약 된 로컬 알림이 있음을 알고 있어야합니다. 알리미는 알림이 표시되는시기를 알지 못합니다. 알림이 표시되는 것은 iOS뿐 아니라 앱이 처리하기 때문입니다.

가장 좋은 방법은 푸시 알림을 사용하는 것입니다.이 방법은 서버 쪽이므로 64 개의 예약 제한이 없습니다. 푸시 알림 옵션을 사용하면 이벤트가 변경 될 때만 서버가 알 수 있습니다. 알림을 보내는 사람이기 때문에.

다른 옵션은 EventKit 일 수 있으며 사용자 일정에 일정을 예약 할 수 있습니다.

관련 문제