2014-02-17 22 views
1

这种情况是iPhone用户在出国旅行时不希望自动更新时间,因此禁用系统设置“自动设置”时区,导致[NSTimeZone systemTimeZone]未更新其新位置。如果iPhone用户已禁用时区“自动设置”,是否仍可以找到当前的本地?

作为一名开发人员,我还能找出设备所在国家(可能是新的)的当前本地时间和时区吗?

+0

你可能会问他/她的当前位置,并根据这个结果找出他/她在哪里以及当前时间是什么 – Novarg

+1

我认为这是糟糕的设计。用户选择不更新他的时区,这意味着你应该在用户的时区显示数据。仅仅因为这个原因向你的应用程序添加位置服务听起来非常普遍,而且大多数用户会选择“否”,所以你最终不会有真正的位置。 –

+0

有问题的应用程序是时区转换器,所以我认为它会很好地自动检测用户是否已经移动到新的时区,因此问题...... :) – eobet

回答

1

不是,无论如何不是没有一些工作,也许没有一些工作。

如果用户禁用了自动时区设置,那么您唯一知道的时区就是他们告诉他们手机使用的时区。你不会绕过他们的偏好。不幸的是,你也不知道他们是否做到了。你所得到的只是一个时区,但为什么这是当前不能回答的问题。

如果你确定了,你可以尝试使用核心位置来获得他们的经纬度,并从中找出一个时区。做到这一点可靠可能是一个挑战 - 官方IANA time zone database包括纬度/经度,但只在每个时区内的一个位置。有像AskGeo这样的服务,声称解决这个问题(他们可能是太棒了,我没有尝试过)。但这显然需要网络连接,而到其他国家旅行的人可能不太可能具有移动数据访问的平均水平。

相关问题