[英]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.