该场景是一个iPhone用户,他不希望在国外旅行时自动更新,从而禁用了系统设置“自动设置”时区,导致[NSTimeZone systemTimeZone]
没有更新他的新位置。
作为开发人员,我是否还可以找到该设备所在国家/地区的当前时间和时区?
答案 0 :(得分:1)
没有。不管怎么说,不是没有一些工作,也许没有一些工作。
如果用户已禁用自动时区设置,您唯一知道的时区就是他们告诉手机使用的时区。你不能绕过他们的偏好。不幸的是,您也无法了解他们是否已经这样做了。你得到的只是一个时区,但为什么那个时候不是你能回答的。
如果您已确定,可以尝试使用核心位置获取其经度和经度,并从中计算出时区。可靠地做到这一点可能是一个挑战 - 官方IANA time zone database包括纬度/经度,但仅限于每个时区内的一个位置。有像AskGeo这样的服务声称可以解决这个问题(它们可能很棒,我还没有尝试过)。但这显然需要网络连接,前往其他国家的人可能不太可能获得移动数据访问。