【问题标题】:How to check device time is correct or not in iOS Swift如何在 iOS Swift 中检查设备时间是否正确
【发布时间】:2018-07-30 09:17:01
【问题描述】:

我正在制作一个测验应用程序,其中时间是一个非常重要的因素。 在特定时间假设在上午 11:00 游戏将开始。所以我根据设备时间和上午 11:00 显示倒数计时器。

但用户可以更改他们的设备时间,那么游戏将不会在所有用户之间同步。

无论如何我可以限制用户从设备设置中更改时间,或者是否有任何其他方法可以检查 iOS swift 应用程序中的正确时间。

【问题讨论】:

  • 您可以尝试从网络或服务器中提取时间。我认为不可能限制用户更改手机设置。这是我找到的用于同步时间的 GitHub 存储库的 link

标签: ios swift


【解决方案1】:

如果我站在你的立场上,我会定期让客户端与服务器同步。就像每隔几秒钟向服务器发送一次请求,其中包含包含用户答案的​​最后更新的数据。然后根据这些客户端请求“在服务器端”跟踪答案和更新。这就是我在内部的意思,您应该检查服务器端的所有内容。然后,例如,您只是简单地拒绝在测验结束后收到的答案。

对于只接受及时提供的答案,您不需要间隔。只需在提供新答案或编辑答案时发送请求。

基于间隔的同步,其优点是用户界面也可以始终根据服务器时间进行更新。您可以使用客户端上的间隔函数来填补空白,但所有内容都会更新并与服务器同步。您还可以通过这种方式跟踪任何问题,例如断开连接和重新连接。网络变化(作弊目的)等。

【讨论】:

  • 我正在使用 AWS DynamoDB,并且正在将应用程序的答案保存到 DynamoDB。图片中没有服务器。
猜你喜欢
  • 2021-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
  • 1970-01-01
  • 2012-10-03
  • 1970-01-01
相关资源
最近更新 更多