iOSでタイムゾーンの変更に関する通知を受け取る 質問する

iOSでタイムゾーンの変更に関する通知を受け取る 質問する

デバイスのタイムゾーンが変更されたときに、アプリケーションは通知を受け取ることができますか? アプリケーションがフォアグラウンドのときに通知を受け取りたいのですが、タイムゾーンを継続的にチェックする必要があるため、NSTimezone は機能しません。

ベストアンサー1

UIApplicationDelegateapplicationSignificantTimeChange:時刻に大きな変化があったときに呼び出される というメソッドがあります。

ドキュメントに記載されている例は次のとおりです。

重大な時間変更の例としては、深夜の到来、運送業者による時間の更新、夏時間への変更などがある。

しかし、タイムゾーンの変更は重大な時間変更としてカウントされると思います。

ドキュメントには、アプリがバックグラウンドにあるときに時間の変更が発生した場合、フォアグラウンドに移動すると変更が反映されると記載されています。

アプリケーションが現在中断されている場合、このメッセージはアプリケーションがフォアグラウンドに戻るまでキューに入れられ、その時点で配信されます。

UIApplicationSignificantTimeChangeNotificationアプリ内の他の場所で同じ情報を取得するには、投稿をリッスンすることもできます。

おすすめ記事