一个非常简单的问题,但似乎仍然很难找到答案,因为我在 Stack 上找到的线程都不是我正在寻找的:有没有办法使用 Date ()
对象来获取实际日期和时间(可能来自服务器)而不是用户设备上设置的日期和时间?
我想要一个 Timer()
对象倒计时到某个时间,例如今天下午 6 点。如果是下午 3 点,计时器将显示还剩 3 小时,但如果我进入设置并将时间提前 2 小时设置为下午 5 点,我的应用程序中的计时器现在将显示只剩下 1 小时。我不想要这个。我不希望设备上的日期/时间影响我的应用程序中的日期/时间表示。我希望我的应用程序向我显示来自 Apple 服务器的实际不可更改的日期/时间(我非常确定应该存在于 iOS 环境中的某个位置,因为可以将设备的日期/时间设置设置为“自动”,这使得您的设备显示服务器时间而不是自定义设置的日期/时间)。
就像我说的,非常简单的问题,但我想绝对确定我没有被误解,因为其他线程上的很多评论者给出了一些无用的、不相关的答案。我真的希望可以使用 UIKit
或任何其他 Swift 标准 SDK 提供的工具来做到这一点,尽管我担心最坏的情况(我需要实现一个第三方框架来实现这一点) .
最佳答案
使用标准的苹果工具无法实现这一点。您应该通过网络请求服务器时间,如果设备“离线”,您将无法执行任何操作,除非阻止用户访问应用程序功能。
拒绝用户设置时间提前(以获得一些每日奖励)的更好、更简单的方法是跟踪“游戏中”时间并设置如下内容:用户必须在之前至少 10 分钟(从最后一天的奖励开始)使用该应用程序他可以领取新一天的奖励。
这样向前滚动时间就不那么有趣了。大多数用户不会这样做。
关于ios - 日期对象随设备设置而变化? ( swift 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46111408/