Objective c 时区支持值-目标-c-cocoa touch

Objective c 时区支持值-目标-c-cocoa touch,objective-c,nscalendar,nstimezone,nslocale,Objective C,Nscalendar,Nstimezone,Nslocale,我已经寻找了一段时间,做了大量的研究和实验,但我找不到一种方法来检索存储在iOS设备时区支持的用户设置中的值 我研究了NSTimeZone便利方法+systemTimeZone、+resetSystemTimeZone、+defaultTimeZone、+localTimeZone。我甚至完全理解它们之间的区别,以及我们如何为每个应用程序设置自己的默认时区,以及第一次调用default如何为系统返回值。然后,系统将被缓存,如果设备更改时区,则需要重置系统 问题是,systemTimeZone始终

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

我研究了NSTimeZone便利方法+systemTimeZone、+resetSystemTimeZone、+defaultTimeZone、+localTimeZone。我甚至完全理解它们之间的区别,以及我们如何为每个应用程序设置自己的默认时区,以及第一次调用default如何为系统返回值。然后,系统将被缓存,如果设备更改时区,则需要重置系统

问题是,systemTimeZone始终是设备实际所在的位置,而不是时区支持下设备设置中设置的值

我甚至研究了[[NSCalendar currentCalendar]时区]以及[[NSCalendar AutoUpdatengCurrentCalendar]时区]]

我甚至尝试了[[[NSLocale currentLocale]objectForKey:NSCurrentCalendar]时区]和[[[NSLocale AutoUpdateingCurrentLocale]objectForKey:NSCurrentCalendar]时区]

不返回设备的设置值。应用程序->邮件、联系人、日历->时区支持->时区

有人知道如何检索Settings.app->Mail,Contacts,Calendars->timezone Support->timezone setting的值吗


谢谢,干杯

如果这有点离题,请原谅,但您确定确实要从以下位置访问时区支持设置吗

  • Settings.app->邮件、联系人、日历->时区支持
如果不是这样的话,我不会发表这篇文章,但当你陈述以下内容时,我开始思考:

问题是,systemTimeZone始终是设备实际所在的位置,而不是时区支持下设备设置中设置的值

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

  • Settings.app->常规->日期和时间
这将更改要在系统范围内使用的时区,状态栏中的时间会立即反映出来,并根据新设置进行调整

您之前尝试访问的内容似乎侧重于如何在native calendar.app中表示日历约会,并且似乎是该应用程序的私有设置(以及该区域中的其他设置)

如果您希望访问用户可以修改的有效的系统范围时区设置,则可以选择日期和时间下的时区。这将是
+systemTimeZone
返回的值

另一方面,如果您确实必须访问“邮件”、“联系人”、“日历”下的“时区支持”设置,恐怕我帮不了您,我为您的分心表示歉意