时区支持值 – objective-c – 可可触摸

我一直在寻找一段时间并做了大量的研究和实验,但我找不到一种方法来检索存储在iOS设备上的时区支持的用户设置中的值.

我已经研究了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的值 – >邮件,通讯录,日历 – >时区支持 – >时区设置?

谢谢,干杯!

最佳答案 请原谅我,如果这是不合适的,但你确定你真的想从以下位置访问时区支持设置吗?

> Settings.app – >邮件,通讯录,日历 – >时区支持

否则我不会发这个帖子,但是当你说出以下内容时你让我思考:

Problem is, systemTimeZone is always where the device is actually located, not the value set in the device’s settings under Time Zone Support.

不幸的是,你在这里的陈述并不完全正确. systemTimeZone将返回设备实际所在位置的时区,除非用户已关闭“自动设置”并在以下位置选择了特定时区:

> Settings.app – >一般 – >日期&时间

这将更改系统范围内使用的时区,这会立即反映在状态栏中调整新设置的时间.

您之前尝试访问的内容似乎集中在日历约会如何在本机Calendar.app中表示,并且看起来对该应用程序是私有的(以及该区域中的其余设置).

如果您正在寻找可以由用户修改的有效系统范围时区设置,则可以访问日期和时间段下的时区.时间是要走的路.这将是systemTimeZone返回的值.

另一方面,如果你真的必须访问邮件,联系人,日历下的时区支持设置,恐怕我无法帮助你,我为分心而道歉.

点赞