iOSのAmazon S3からファイルをダウンロード中。断続的にNSURLConnectionDownloadDelegateのメソッドdidFailWithErrorは:と呼ばれ、これは私がNSErrorオブジェクトを受け取っログインしたときに得たものである取得SSErrorDomainエラーコード109. Amazon S3からのNewsStandダウンロード
エラーコード:109 エラードメイン:SSErrorDomain エラー説明:「.s3.amazonaws.comに接続できません」
すべてのAppleのドキュメント、StackOverflowおよびその他のサイトを検索しましたが、これについて何も見つかりませんでした。今日私は、私の開発者アカウントを使ってこれについてAppleにテクニカルクエリを提出しました。
更新:だからHTTPレスポンスのエラーコード(403禁止)に見た後、私はアイデアを得た
。これは、S3からの "RequestTimeTooSkewed"エラーのためです(要求時間と現在の時間の差が大きすぎます)。私はiPadの/ Macのシステム時間を1時間変更することでそれをチェックしたが、小さな(200kb)ファイルであってもこのエラーは直ちに起こっている。今では多くのブログで示唆されているように、私は最初の日付文字列を取得するには、以下のようにAWSにHEAD要求を行うと、システムの日付
NSString *awsURL = @"http://s3.amazonaws.com";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:awsURL]];
[request setHTTPMethod:@"HEAD"];
NSHTTPURLResponse *response;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error: NULL];
NSString *dateString = nil;
if ([response respondsToSelector:@selector(allHeaderFields)]) {
dateString = [[response allHeaderFields] objectForKey:@"Date"];
}
return dateString;
とNSMutableURLRequest
でのDateヘッダとしてこの設定を渡しておりません[urlRequest setValue:awsDateString forHTTPHeaderField:@"Date"];
私は、ダウンロード
NKAssetDownload *nkAssetDownload = [nkIssue addAssetWithRequest:urlRequest];
のために私の問題を追加していこの要求まだ同じエラー!!!!私の最後の状況よりももっと狂っています。
誰でも?
アップデート2
私は、日付文字列に「0000」と「GMT」を置き換えることによって、(私のiPadのも、システムクロックが正しくない)要求を正常に作ることができました。
更新3 まだいくつかのリクエストは同じエラーで失敗しますが、これは奇妙なものですが、NewsStand Frameworkが壊れていると思われます。