したがって、私の iPhone アプリは写真を Amazon S3 に正常にアップロードします。最新 (ver 1.6.0) の Amazon AWS SDK for iOS で S3Uploader サンプル プロジェクトと同じコードを使用しました。問題は、断続的に SignatureDoesNotMatch エラーが発生することです (計算した要求署名が、提供された署名と一致しません。キーと署名方法を確認してください)。それにパターンはありません。現在、私のアプリは、didFailWithError: のデリゲート呼び出しで一定量の再試行を行うことで、このエラーを回避しています。
これまでのテストでは、ユーザーがエラーに気付かないように十分な再試行が行われていますが、署名が明らかに正しいときに署名キーのエラーが発生していることを知っていると、非常にイライラします。URL エンコーディング エラー (署名キーに + 記号が含まれている) であるかどうかはわかりませんが、iOS SDK を使用しているため、PUT URL がどのように処理されるかわかりません。
また、バケット名はすべて小文字で、ファイル名は数字と数文字のアルファベットのみであることを確認しました。また、さまざまな地域を試しましたが、すべて同じ結果になりました。つまり、SignatureDoesNotMatch エラーなしで PUT を成功させるには、0 回から 5 回の再試行が必要です。誰かに同様の問題がありましたか?どんな助けでも大歓迎です。読んでくれてありがとう。