我偶然发现了一个奇怪的错误,我无法解决这个问题。如果我进入iphone设置并手动将时间设置为一小时,但保持时区不变,则对simpleDB的所有请求都会导致超时。我需要一种方法来在应用程序内自动获取时间,或者向simpleDB发送不同的时间戳,以便在一小时之后。
这是一个例外:
AmazonServiceException {RequestId:605914f0-94fb-a152-4206-06c2d0b777da,ErrorCode:RequestExpired,Message:Request已过期。时间戳日期是2013-06-20T09:18:27.431Z。现在的日期是2013-06-20T10:18:28Z}
有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
亚马逊只允许服务器与其请求客户端(用户PC)之间的时间戳变化最多15分钟。由于亚马逊是大量用户的大型备份服务器,因此安全性确实很重要。服务器和请求客户端之间的时间同步对于访问Amazon非常重要。要解决此问题,您必须调整客户端的时间,以便最多15分钟的时间戳差异。摆脱此问题为您的系统设置标准时间和区域。
答案 1 :(得分:0)
我在这里找到了答案:link 实现这一目标的是:
[AmazonSDKUtil setRuntimeClockSkew:3600.0];
它让用户知道设备的实际时间,这可以使用CoreLocation完成。