Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有替代ios ntp的方法来获取原子/当前时间ios?_Ios_Iphone_Objective C_Datetime - Fatal编程技术网

是否有替代ios ntp的方法来获取原子/当前时间ios?

是否有替代ios ntp的方法来获取原子/当前时间ios?,ios,iphone,objective-c,datetime,Ios,Iphone,Objective C,Datetime,在我的应用程序中,我希望获得准确的日期和时间,基本上,在我的应用程序中,会有一个时间敏感的部分,用户在一定时间后才能启动 但是,如果我从设备上抓取日期和时间,用户可以轻松更改设备上的日期和时间,Settings>General>time&date在此处更改 我也尝试了GPS位置时间戳,但没有成功,[CLLocation timeStamp]也给出了设备时间 我搜索过所有说要使用的,但不是当用户没有互联网连接时 我有以下问题: 但是没有得到我想要的结果 是否有其他方法获得准确/实际时

在我的应用程序中,我希望获得准确的日期和时间,基本上,在我的应用程序中,会有一个时间敏感的部分,用户在一定时间后才能启动

但是,如果我从设备上抓取日期和时间,用户可以轻松更改设备上的日期和时间,
Settings>General>time&date
在此处更改

我也尝试了GPS位置时间戳,但没有成功,
[CLLocation timeStamp]
也给出了设备时间

我搜索过所有说要使用的,但不是当用户没有互联网连接时

我有以下问题:

但是没有得到我想要的结果

是否有其他方法获得准确/实际时间

注意:ios必须将当前日期存储在某个位置,因为当我从设置中更改当前系统日期,并再次设置为
设置>常规>时间和日期>自动设置>时,
将设置当前的准确日期,因此我们可以获得该日期吗??还是什么把戏

示例:

假设当前设备中的时间为
2014-01-01 15:04:57+0000
(当前自动设置在设置>常规>时间和日期>自动设置>打开中处于打开状态), 现在
用户设置
set automatically>OFF
并将当前日期更改为
2014-03-02 11:14:32+0000

因此,当我在应用程序中写入
NSLog(@“cdate:%@,[NSDate date])它将打印

cdate:2014-03-02 11:14:32+0000
但我想要的是打印当前的实际


日期是
2014-01-01 15:04:57+0000

你意识到你在问不可能的事吗?如果您需要获取时间,而您没有网络连接,那么唯一可以获取时间的地方就是设备。要么信任设备时间,要么从NTP获得时间。没有其他选择

你如何处理这件事取决于你为什么需要时间。如果你的应用程序中有某些功能在某个日期之前绝对不能启用,我会从外部服务器获取时间,如果证明是在该日期之后,则在默认设置中设置一个标志,表示你已验证该日期,并且该功能是允许的,因此此后你不需要进行网络连接。如果网络连接不存在,则不设置标志,但可能会显示一条消息,说明您需要连接到Internet以启用新功能


如果只是游戏的一部分,使用设备时间,让他们想作弊就作弊。

你意识到你在问不可能的事情吗?如果您需要获取时间,而您没有网络连接,那么唯一可以获取时间的地方就是设备。要么信任设备时间,要么从NTP获得时间。没有其他选择

你如何处理这件事取决于你为什么需要时间。如果你的应用程序中有某些功能在某个日期之前绝对不能启用,我会从外部服务器获取时间,如果证明是在该日期之后,则在默认设置中设置一个标志,表示你已验证该日期,并且该功能是允许的,因此此后你不需要进行网络连接。如果网络连接不存在,则不设置标志,但可能会显示一条消息,说明您需要连接到Internet以启用新功能


如果这只是游戏的一部分,使用设备时间,如果他们愿意,让他们作弊。

关于您最初的要求,您能详细说明吗?也就是说,任务的性质,时间是固定的还是取决于以前的用户操作,以及为什么不能依赖网络连接(至少一次)。唯一的要求是,在没有互联网连接的情况下获取准确的时间(而不是设备时间),因为我要在iPhone上签入以设置其他日期,当我将日期时间设置为自动时,它将加载当前时间,而无需互联网和运营商数据。@magma:我在应用程序中有一些依赖于当前时间的功能,所以必须获取当前时间,而不是设备时间。我的建议是,虽然你可能专注于你认为能满足你需求的解决方案,但有人可能会想出完全不同的方法。通过详细说明您的实际需求(不是检索实际日期时间,而是阻止用户在给定时间之前执行给定操作),您将使我们更容易了解是否有解决办法。@magma:我在应用程序中有一些依赖于当前时间的功能,因此必须获取当前时间,而不是设备时间。并与设备时间相匹配。如果时差超过10分钟,我就不必做那项工作了。关于你最初的要求,你能详细说明一下吗?也就是说,任务的性质,时间是固定的还是取决于以前的用户操作,以及为什么不能依赖网络连接(至少一次)。唯一的要求是,在没有互联网连接的情况下获取准确的时间(而不是设备时间),因为我要在iPhone上签入以设置其他日期,当我将日期时间设置为自动时,它将加载当前时间,而无需互联网和运营商数据。@magma:我在应用程序中有一些依赖于当前时间的功能,所以必须获取当前时间,而不是设备时间。我的建议是,虽然你可能专注于你认为能满足你需求的解决方案,但有人可能会想出完全不同的方法。通过详细说明您的实际需求(不是检索实际的日期时间,而是阻止用户在给定的时间之前执行给定的操作),您将使我们更容易看到是否有解决方法。@magma:我有一些函数