簡體   English   中英

獲取有關iOS時區變化的通知

[英]get notification on timezone change in iOS

我的應用程序可以在設備時區更改時收到通知嗎? 我希望在我的應用程序是前台時收到通知。 NSTimezone對我不起作用,因為我必須不斷檢查時區。

UIApplicationDelegate有一個名為applicationSignificantTimeChange:的方法applicationSignificantTimeChange:當時間發生重大變化時會調用它。

文檔中列出的示例包括:

重要時間變化的示例包括午夜的到來,運營商更新時間以及夏令時的變化

但我認為時區變化算是一個重要的時間變化。

文檔還說,如果時間更改發生在您的應用程序在后台時,您將在前往前台時獲得它

如果您的應用程序當前處於掛起狀態,則此消息將排隊,直到您的應用程序返回到前台,此時它將被傳遞。

您還可以監聽要發布的UIApplicationSignificantTimeChangeNotification ,以便在應用中的任何其他位置獲取相同的信息。

只需聽聽NSSystemTimeZoneDidChangeNotification

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(timeZoneChanged) name: NSSystemTimeZoneDidChangeNotification object:nil];

並記得取消注冊,例如在dealloc方法中。

[[NSNotificationCenter defaultCenter] removeObserver:self name:NSSystemTimeZoneDidChangeNotification object:nil];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM