So my iPhone app successfully uploads photos to Amazon S3. I used the same code as the S3Uploader example project with the latest (ver 1.6.0) Amazon AWS SDK for iOS. The problem is intermittently I'll get the SignatureDoesNotMatch error (The request signature we calculated does not match the signature you provided. Check your key and signing method.). There's no pattern to it. Currently my app is working around this error by doing a certain amount of retries on the delegate call didFailWithError:.
So far with my tests, there are enough retries so the user will not notice the error, but it is quite frustrating to know that I am getting a signature key error when my signature is clearly correct since it works at times. I am not sure if it is a url encoding error (my signature key has a + sign in it), but since I'm using the iOS SDK I don't see how the PUT url's are handled.
Also, I verified that my bucket name is all lower case, and my filenames are just numbers and a few alphabet letters. I also tried different regions and they all have the same result. In short it can take anywhere from 0 retries to 5 retries for to get a successful PUT without the SignatureDoesNotMatch error. Has anyone had a similar issue? Any help would be greatly appreciated. Thanks for reading.