2012-08-15 45 views
4

我一直在尋找一段時間,並做了大量的研究以及實驗,但我找不到方法來檢索存儲在iOS設備上時區支持的用戶設置。時區支持值 - objective-c - cocoa-touch

我查看了NSTimeZone便捷方法+ systemTimeZone,+ resetSystemTimeZone,+ defaultTimeZone,+ localTimeZone。我甚至完全理解它們之間的差異以及我們如何爲每個應用程序設置自己的默認時區,以及首次調用默認返回系統值的方式。如果設備更改時區,則系統會緩存並需要重置。

問題是,systemTimeZone始終位於設備實際所在的位置,而不是在時區支持下的設備設置中設置的值。

我甚至正在研究[[NSCalendar currentCalendar] timeZone]以及[[NSCalendar autoupdatingCurrentCalendar] timeZone]]。

我甚至試過[[[NSLocale currentLocale] objectForKey:NSCurrentCalendar]的timeZone]和[[[NSLocale autoupdatingCurrentLocale] objectForKey:NSCurrentCalendar]的timeZone]

沒有返回設備的Settings.app的價值 - >郵件,聯繫人,日曆 - >時區支持 - >時區。

有誰知道如何檢索Settings.app - > Mail,Contacts,Calendars - >時區支持 - >時區設置的值?

感謝和乾杯!

回答

2

請原諒我,如果這種方式不符合標準,但您確定您確實想從以下位置訪問時區支持設置嗎?

  • Settings.app - >郵件,通訊錄,日曆 - >時區支持

我也不會發這個帖子,否則,但你讓我想,當你聲明如下:

問題是,systemTimeZone始終位於設備實際所在的位置,而不是在時區支持下的設備設置中設置的值。

不幸的是,您在此處的陳述並不完全正確。 +systemTimeZone將返回,其中該設備實際上位於除非的用戶已關機自動設置並在以下位置選擇特定時間區的時區:

  • Settings.app - >常規 - >日期&時間

這將更改時區使用系統範圍,即將由在狀態欄中調整,新設置的時間反映。

您以前一直在嘗試訪問的內容似乎集中在日曆約會如何在本機Calendar.app中表示,並且似乎對該應用程序是私有的(以及該區域中的其餘設置)。

如果您正在尋找進入在全系統有效的時區設置,可以由用戶進行修改,然後時區日期&時間是要走的路。這將是由+systemTimeZone返回的值。

在另一方面,如果你真的必須在郵件訪問時區支持設置,通訊錄,日曆恐怕我幫不了你,我的分心道歉。