Delphi 11 10 XE8 XE7 XE Seattle Berlin Tokyo Rio Firemonkey, Delphi Android, Delphi IOS

Debugging IOS 8.3 And Workarounds For Delphi XE8 Firemonkey On IOS

| Delphi 11 10 XE8 XE7 XE Seattle Berlin Tokyo Rio Firemonkey Delphi Android Delphi IOS

Delphi XE8 Firemonkey IOS 83 Workaround Bug Issue | Delphi 11 10 XE8 XE7 XE Seattle Berlin Tokyo Rio Firemonkey Delphi Android Delphi IOSWorking 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.

Workarounds:

#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.

Exit mobile version