2013-02-05 2 views
0

내 서버가 "푸시 드라이버가 오후 2시 45 분에 도착할 것입니다."와 같은 알림을 보내야합니다. 사용자의 시간대 및 시간 형식 환경 설정을 서버까지 끌어 와서 일종의 보편적 인 시점 인디케이터 (예 : 에포크 초 또는 UTC 타임 스탬프)를 전달하고 iOS 장치를 돌리면 좋을 것입니다. 사용자의 기본 형식으로 타임 스탬프에 저장합니다.APN 경고의 타임 스탬프 현지화

이것이 가능합니까?

답변

2

짧은 대답 - 일반적으로 '아니오'입니다. Apple 설명서는 다음과 같습니다.

알림이 도착할 때 대상 응용 프로그램이 실행 중이 아니면 경고 메시지, 사운드 또는 배지 값이 재생되거나 표시됩니다. 응용 프로그램이 실행중인 경우 iOS는 NSDictionary 개체로 응용 프로그램 대리인에게 전달합니다.

응용 프로그램이 일반적으로 실행되지 않으므로 APN 패키지의 내용을 해석 할 기회가 없습니다. 그러나 실행 중 APN 만 얻으려는 경우 응용 프로그램 별 작업을 수행 할 기회가 있습니다.

주목 - 사용자의 언어에도 문제가 있습니다. 현재 "귀하의 드라이버 ..."에 대한 영어를 선택했습니다.

일반적으로 사용자의 시간대와 언어 (및 기타 로케일 정보)를 서버에 기록하는 것이 일반적으로 등록시입니다. 그런 다음 서버가 APN을 생성하면 사용자의 로켈에 맞게 APN이 사용자 정의됩니다.

+0

저는 이것에 대해 생각해 보았습니다. 일반적인 경우에는 작동하지만 DST를 준수하지 않는 애리조나와 같은 가장자리의 경우 어떻게 해결할 수 있습니까? NSTimeZone API를 살펴보면서, 나는 그 것을 맞추기가 힘들다. – kcharwood

0

아니요, 해당 메시지를 되돌릴 방법이 없습니다.

서버에 영구적으로 시간대를 설정해야한다고 생각합니다.