only iOS has problem with what's returned from our server

Just migrated to AWS server. Everything is working with our Unity build in OSX, Windows, and Android.
And it was working in iOS before we migrated.

But in iOS, I get the below error in XCode’s console. I realize I gotta debug with my MySQL/PHP programmer, but first – any intuition how iOS might be more picky than Android and OSX?

2020-07-20 15:49:00.981988-0700 CatsYourVote[607:322167] Connection 3: received failure notification
2020-07-20 15:49:00.982230-0700 CatsYourVote[607:322167] Connection 3: failed to connect 1:60, reason -1
2020-07-20 15:49:00.983052-0700 CatsYourVote[607:322167] Connection 3: encountered error(1:60)
2020-07-20 15:49:00.991887-0700 CatsYourVote[607:322167] Task <FAD3ED53-DE26-45CB-96D4-B0B88F832A1C>.<3> HTTP load failed, 0/0 bytes (error code: -1001 [1:60])
2020-07-20 15:49:01.010440-0700 CatsYourVote[607:322164] Task <FAD3ED53-DE26-45CB-96D4-B0B88F832A1C>.<3> finished with error [-1001] Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=60, NSUnderlyingError=0x2809910e0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=60, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <FAD3ED53-DE26-45CB-96D4-B0B88F832A1C>.<3>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <FAD3ED53-DE26-45CB-96D4-B0B88F832A1C>.<3>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://config.uca.cloud.unity3d.com/, NSErrorFailingURLKey=https://config.uca.cloud.unity3d.com/, _kCFStreamErrorDomainKey=1}

After that I get a different (Unity) one I was going to face next, but here it is

Cannot create a multipart form data section without body data

My gut reaction for this kind of behavior is that different operating systems include different sets of trusted certificate authorities for TLS and it’s possible the one you are using is not on iOS’s list (differing required TLS versions and encryption ciphers are also possible culprits). That being said your error doesn’t immediately appear to be SSL/TLS related.

1 Like

Update: it works in iOS 10. The problem above was with iOS 13. (I don’t have any other versions around to test).
We suspect it’s something like this Requirements for trusted certificates in iOS 13 and macOS 10.15 - Apple Support and will try reissuing the certificate on the server. (Because it can’t be that AWS and Apple are incompatible).

1 Like

Yep, iOS is notorious (probably in a good way) for introducing more stringent TLS requirements than everyone else in new iOS versions. Make sure you’re using at least TLS 1.2 as well.

My server coder redid the certificate and it works now. We don’t understand why.

1 Like

After developing hybrid apps for iOS and Android, I don’t understand half the things iOS complains about either. :face_with_spiral_eyes:

1 Like