Debugging IOS 8.3 And Workarounds For Delphi XE8 Firemonkey On IOS

Delphi XE8 Firemonkey IOS 8.3 Workaround Bug IssueWorking with IOS 8.3 can be a bit of an issue as Apple has made some major changes which lock down the device making it more difficult to debug. Tools like iFunBox and iPhone Configuration Utility don’t seem to work like they once did for accessing the app files and the console log. You can still access the Console Log by using XCode and going to Devices > Console Log (be sure to select the connected device). On that screen you can download the crash logs or access the Console Log by dragging the arrow at the bottom of the screen up. This debugging tip and the following workarounds should work for Delphi XE8, C++Builder, and Appmethod using the Firemonkey framework.


#1 DTPlatformName Missing From Info.plist

If you are publishing your apps to the App Store in Delphi XE8 one workaround you need to know about is adding the DTPlatformName to Version Info. When you upload your app to Application Loader and it complains about a missing DTPlatformName you will need to open Project Options in Delphi and go to the Version Info section. Add a new Key Value pair where the key is ‘DTPlatformName’ and the value is ‘iphoneos’ (no quotes). You can see the QP report here.

#2 App Orientation Incorrect

If you are deploying your apps to an IOS 8.3 device and you experience an issue where the app appears rotated 90 degrees there is something you can check for which may fix the issue. Calling Application.ProcessMessages in the OnFormCreate event can cause this issue. Check your code and eliminate the line or use an IFDEF to remove it from your IOS app. A second way to take care of it is to move the code that uses Application.ProcessMessages out of OnFormCreate and have it execute later (via a TTimer for example). If this does not fix your issue you can also go to Project Options and Enable Custom Orientation functionality and check all except ‘Landscape Home Left’. You can see a QP report here and a second QP report here.

BONUS: Debugging EXE Is Locked

If you run into the issue where you go to debug a Win32 or Win64 app a second time and the IDE gives you a message that the EXE is locked you can simply delete the EXE and then debug again. There is a hanging file handle which never gets cleared. Deleting the EXE allows you to continue.

Check out other tips for debugging IOS apps in the Embarcadero DocWiki.

Have Delphi Firemonkey questions? Ask and get answers on StackOverflow.

Debugging IOS 8.3 And Workarounds For Delphi XE8 Firemonkey On IOS by Delphi XE5 XE6 XE7 XE8 10 Seattle Berlin Firemonkey, Delphi Android, Delphi IOS is licensed under a Creative Commons Attribution 4.0 International License.

One Response to Debugging IOS 8.3 And Workarounds For Delphi XE8 Firemonkey On IOS

  1. tom says:

    #2 App Orientation Incorrect
    The fixes suggested her do not work in all instances. I have created a test project that replicates the problem. I have posted several times in the forums and have an open case (#00430604) on this issue.
    I believe Embarcadero has finally acknowledged the bug.

Leave a Reply

Show Buttons
Hide Buttons
Read previous post:
Delphi XE8 Firemonkey MapView Location Sensor Demo Android IOS
Location Aware Map Demo Source Code For #Delphi XE8 Firemonkey On Android And IOS

Developer Sarina DuPont from Embarcadero has a new map view location sensor demo up for Delphi XE8 Firemonkey. We've covered...