After all this trouble – minimum 4 weeks lost – I replaced THTTPClient with Indy TidHTTP. Not too much work and the basics worked within an hour or two.
One new problem introduced by Indy was that TidMultiPartFormData did not work as expected. For a quick solution wrote data in a TStringStream and sent instead.
SideEffect: The app did not work when compiled in 10.1 Berlin. Now it does !
Have an app which is working 100% on Android devices (no REST backend):
querying JSON data, fetching/uploading logos and images.
But on iOS we ran into big troubles:
- chunk data sent as TStringStream led to exceptions on server like this
„Exception EConvertError: Invalid URL-encoded char (%Yπ) at position xx“
(TMemoryStream did not help, but base64 encoding did)
Android doesn’t but iOS does URL-encoding with chunk data
- any HTTP parameter is logged on server like this
name=““Session“““ with multiple double quotes
- changing to a TMemoryStream result looks like this
- but same example on Android
It is quite difficult to debug and a time consuming process, but I will try.
This is a nasty one and IMHO Embarcadero did a really bad job here !
- switch PAServer-17.0 in terminal window with „v“ to verbose output
- check last line in terminal window
- if it looks similar to this
„/usr/bin/codesign“ –deep -s „iPhone Developer: Michael Jung (…)“ -f „/Users/jung/PAServer/scratch-dir/jung-MyMac/TestiOS.app“
- copy and paste this line in a new terminal window
- hit enter and check the message you get
- the error message will be about „ambiguous certificates …“
- check you keychain accordingly
Why not just catch and show the result of the codesign utility ?
Next error … becoming a real nightmare.
- Xcode up-to-date
- Command line tools installed and up-to-date
- Certificate valid and up-to-date
- Provisioning profile valid and up-to-date
- SDK up-to-date
- iPhone iOS up-to-date
- iPhone registered as developer device
- iPhone Provisioning profile installed
- tested that Xcode can compile, deploy and run an app on my iPhone
Anything missing or else I can do ?
Maybe I found the reason for as I checked and found
- Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/9.3 (13E230)/DeveloperDiskImage.dmg
- but with latest iOS update we have iOS 9.3 (13F69)
Is this causing all the trouble now ???
Just found this on the Internet, might be helpful so someone !
I had all the betas already installed (they worked without any problem) but the final release of 10.11.5 my Mac seems to be snappier.
There are so many complaints about iTunes, I had never any problems, neither with iTunes nor with Apple Music although I have collected over 100 GB of music plus musical pieces done by friends and some by myself.
I admit that the UI of iTunes is not the best and most logical but it served my needs and the new release makes no big changes but IMHO is a first step in the right direction.
For a week now I am searching for a solution for the problem with error e8008015 when trying to a iPhone for testing.
And why the heck do I mostly have to reboot my Mac after shutting down PAServer-17-0 ? EIdCouldNotBindSocket ! This is ridiculous, annoying and frustrating.
Funny, just now my VM froze after clicking on „Test Connection“ in Connection Profile Manager ( without words… )
So do it again Sam !
- Kill delphi …
- shutdown VM
- reboot Mac
- start VM
- start PAServer-17.0
- start Delphi
- try deploy, pray and hope …
- Nope, again e8008015
I have one developer account, one certificate, one provisioning profile, one device !
On the Mac is all set, so what ???