2012-08-15 46 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返回的值。

在另一方面,如果你真的必须在邮件访问时区支持设置,通讯录,日历恐怕我帮不了你,我的分心道歉。