Ответ 1
UIApplicationDelegate
имеет метод, называемый applicationSignificantTimeChange:
, который вызывается при значительном изменении времени.
Примеры, перечисленные в документации:
Примеры значительных изменений времени включают прибытие полночь, обновление времени перевозчиком и переход на летнее время
Но я бы предположил, что изменения в часовом поясе считаются значительным изменением времени.
В документах также говорится, что если изменение времени происходит, когда ваше приложение находится в фоновом режиме, вы получите его, когда вы перейдете на передний план
Если ваше приложение в настоящее время приостановлено, это сообщение помещается в очередь до тех пор, пока ваше приложение не вернется на передний план, после чего оно будет доставлено.
Вы также можете прослушать UIApplicationSignificantTimeChangeNotification
для публикации, чтобы получить ту же информацию в другом месте в вашем приложении.