Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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时间?_Ios_Objective C_Cordova_Time_Ntp - Fatal编程技术网

如何在防火墙后同步iOS时间?

如何在防火墙后同步iOS时间?,ios,objective-c,cordova,time,ntp,Ios,Objective C,Cordova,Time,Ntp,我在我们的公司网络后面有iPod Touch,这些设备没有互联网接入。我真的需要这些设备有最新的时间 我想将iOS设置为使用内部NTP服务器,但AFAIK iOS不允许我这样做。如果是这样,我会全神贯注于如何做到这一点。我考虑过如何在这些设备上获得同步时间的其他选项: 将我们内部网络上的苹果时间服务器DNS主机名欺骗到内部NTP服务器。老实说,我不确定这会有多困难,我猜让我的网络管理员来做这件事是不可能的 我想知道我的应用程序是否可以在设备上设置时间。我可以在当前时间向内部服务器调用webser

我在我们的公司网络后面有iPod Touch,这些设备没有互联网接入。我真的需要这些设备有最新的时间

我想将iOS设置为使用内部NTP服务器,但AFAIK iOS不允许我这样做。如果是这样,我会全神贯注于如何做到这一点。我考虑过如何在这些设备上获得同步时间的其他选项:

将我们内部网络上的苹果时间服务器DNS主机名欺骗到内部NTP服务器。老实说,我不确定这会有多困难,我猜让我的网络管理员来做这件事是不可能的

我想知道我的应用程序是否可以在设备上设置时间。我可以在当前时间向内部服务器调用webservice,然后在应用程序中进行设置。这可能吗?我需要深入研究iOS API,但我对这个平台不太熟悉。我有一个继承的混合Obj-C/Phonegap应用程序,可以在其中进行测试


对我的时间问题还有什么建议吗?

一个选择是获取GPS时间。试试这个

#import <CoreLocation/CoreLocation.h>

CLLocation* gps = [[CLLocation alloc]
                   initWithLatitude:(CLLocationDegrees) 0.0
                   longitude:(CLLocationDegrees) 0.0];
NSDate* now = gps.timestamp;

您不能以编程方式设置时间。我很好奇。。在这些设备上[NSDate date]调用return的是什么?糟糕。我没有尝试使用NSDate。我们的日期代码在PhoneGap内部的JavaScript中运行。我们可以追溯到Unix时代。我最好的猜测是设备的电池耗尽,然后失去时间。因为他们没有互联网连接,所以在用户手动更正之前,它永远不会被设置。不幸的是,我几乎不可能复制。只要看看服务器上的日志,这对iPod Touch有用吗?如果我没弄错的话,iPodtouch不包括GPS。另外,我不希望我们能在室内接收到GPS信号,或者这里发生了什么事情,我不会去摸索?谢谢,哦。。。对你是对的。。我唯一的另一个建议是在服务器上创建一个api来返回时间。。这显然会被网络延迟所抵消。时间戳不是GPS时间,很遗憾,它只是系统时间。