Лучшая практика для получения часового пояса для iPhone против iPod Touch - PullRequest
2 голосов
/ 10 апреля 2010

Я создаю приложение, для которого требуется текущий часовой пояс пользователя. Если используемым устройством является iPhone, а для пользователя установлен автоматический режим изменения часового пояса, думаю, я вполне уверен, что localTimeZone или systemTimezone предоставят мне правильный часовой пояс для местоположения пользователя.

Если, с другой стороны, это устройство iPod Touch, часовой пояс, возвращаемый localTimeZone и systemTimeZone, всегда будет таким, какой часовой пояс установлен в настройках «Дата и время», независимо от фактического местоположения пользователя. Я пытался использовать службы определения местоположения, но, хотя широта / долгота указываются правильно, смещение часового пояса в получаемой метке timeStamp всегда совпадает с тем, что пользователь установил для своей настройки часового пояса.

Есть предложения?

John

Ответы [ 2 ]

5 голосов
/ 05 февраля 2011

вы можете использовать locaTimeZone метод из NSTimeZone

NSTimeZone *timeZone = [NSTimeZone localTimeZone];

вот пример от нашей компании фаворитов -> http://developer.apple.com/library/mac/#samplecode/PhotoSearch/Listings/DateCell_m.html%23//apple_ref/doc/uid/DTS10003994-DateCell_m-DontLinkElementID_7

1 голос
/ 05 февраля 2011

Нет, если вы не бросите свой собственный. Ваш единственный реальный вариант - использовать CoreLocation, чтобы выяснить, где вы находитесь в мире, выяснить имя часового пояса, в котором вы находитесь, по имени, а затем найти NSTimeZone на основе этого имени .... но я не даже думаю, что Corelocation доступен на iPod Touch (я могу ошибаться).

...