我的应用程序在ios 6中工作正常。它从亚马逊网络服务器s3上传和下载数据。但是,当我将ios 6升级到ios 7 ...我收到警报消息“无法连接到服务器”,日志中出现此错误窗户
“异常= AmazonServiceException {RequestId:5DC8AEF01DD9FB91,ErrorCode:AccessDenied,Message:AWS身份验证需要有效的Date或x-amz-date标头}”。
为了解决这个问题,我将aws ios sdk 1.0.0升级到aws ios sdk 1.6.1,并尝试运行我的应用程序,它冻结了10-12秒,然后应用程序运行。
因此,请任何人告诉我我如何在aws ios sdk 1.0.0中删除“ x-amz-date标头”问题及其在aws ios sdk 1.6.1中的替代冻结问题的解决方案。
我已向Apple提交了错误报告(以查找是否存在错误)。
同时,我使用configureURLRequest方法创建了一个可怕的hack来解决S3Request.m中的问题:
NSString *checkFormat =[self.date requestFormat];
if(![checkFormat hasSuffix:@":00"])
checkFormat = [NSString stringWithFormat:@"%@:00",checkFormat];
[self.urlRequest setValue:checkFormat forHTTPHeaderField:kHttpHdrDate];
这可能与您的AWS开发工具包版本不同。
我不会长期使用此修复程序-一旦他们提出了建议的解决方案,我将在这里发布Apple Bug报告团队的任何回复
我还在这里发布了一个问题:https : //forums.aws.amazon.com/thread.jspa?threadID=135829#
编辑:在该工具箱的最新版本中,黑客是:
NSString *checkFormat =[self.date stringWithRFC822Format];
if(![checkFormat hasSuffix:@":00"])
checkFormat = [NSString stringWithFormat:@"%@:00",checkFormat];
[self.urlRequest setValue:checkFormat forHTTPHeaderField:kHttpHdrDate];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句