Debugging IOS 8.3 And Workarounds For Delphi XE8 Firemonkey On IOS

  

Working 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 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.
 
Check out other tips for debugging IOS apps in the Embarcadero DocWiki.

Comments are closed.