【问题标题】:iOS check if phone time is set correctlyiOS 检查手机时间是否设置正确
【发布时间】:2015-02-19 03:08:17
【问题描述】:

我需要能够确定用户电话日期/时间是否设置正确。以防万一用户一直在玩 Candy Crush 或类似的游戏,他们可能会更改日期设置。

是否有任何本地方法可以确认时间是否正确。如果没有,有人可以推荐一个可靠的在线服务来验证时间。

谢谢

【问题讨论】:

标签: ios validation date time


【解决方案1】:

手机上的日期和时间始终与用户设置中的日期/时间相关。您可以进行的唯一时间验证包括从外部源(如 API 调用)请求有效时间并将该时间与用户在设置中的时间进行匹配。

我不熟悉提供此功能的常规 API,但我敢肯定它是谷歌。

【讨论】:

    【解决方案2】:

    我认为您的问题存在一些固有缺陷,您的应用将如何确定实际日期/时间应该是什么?用户需要连接到数据才能完全验证,所以如果这是订阅或试用期,他们会找到解决方法。如果您只是在寻找日期,那么我认为这并不难,但是时间将由时区决定,如果用户允许设备选择“正确”的日期,夏令时等。

    我目前的最佳建议是在您的应用程序中编写一个查询,该查询会 ping 全球时钟之一以验证日期,根据设备的时区调整结果,然后与设备的日期/时间进行比较设置为。

    获取设备的日期/时间(NSDate 使用设备的时钟):

    -(void)targetMethod:(id)sender
    {
      NSString *currentTime = [dateFormatter stringFromDate: [NSDate date]];
      timeLabel.text = currentTime;
    }
    

    这是一个用于确定将 NSDate 与 NSDate 进行比较的正确时间的 API 示例:http://worldtime.io/api/geo

    【讨论】:

    • “worldtime.io”API 不再可用的事实表明为此使用第三方 API 存在风险。我希望 NIST API 更可靠,但如果他们提供同样可靠的 HTTP JSON API 肯定会很好。
    猜你喜欢
    • 1970-01-01
    • 2011-12-19
    • 2018-07-29
    • 2022-07-23
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    相关资源
    最近更新 更多