Building macOS 64-bit Applications with Delphi 10.3.2

by Jul 19, 2019

Yesterday, Embarcadero released RAD Studio 10.3.2, which includes Delphi 10.3.2 — available also as a stand-alone product. There are many great features in 10.3.2, along with a high number of quality improvements, but the most notable is certainly the addition of a new target platform.

As you are probably aware of, Apple has stopped accepting 32-bit applications to the online macOS store, has started adding a warning screen when you run a 32-bit app, and has announced that the next version of the operating system (Catalina) won’t run 32-bit applications at all. These are all reasons that pushed us to increase the priority of a Delphi macOS 64-bit compiler, that we are shipping with all the required libraries, IDE support, and so forth.

More precisely, there is a new Delphi compiler for the macOS 64-bit platform, based on the LLVM compiler infrastructure, with a non-ARC model like all other Delphi desktop and server platforms (macOS, Windows, Linux). The RTL includes all core file features from system access to platform integration, from memory and threads management to HTTP and REST client libraries.
Of course, we have complete support for the FireMonkey library and all FireMonkey controls previously available on the macOS 32-bit platform are also in the 64-bit version. Regarding database access, the core database RTL and the FireDAC client access libraries are there, with support for the same databases previously available on the macOS 32-bit platform. The ClientDataSet component is also working, while the older and long-deprecated DBX drivers are not available. Finally, there is IBLite and IBToGo support for the Delphi macOS 64-bit. Here are some FMX 64-bit apps, but they don’t really look much different than their 32-bit counterparts.

There are also specific new features and improvements for macOS. Notably, you can use the IDE directly for macOS notarization support, see http://docwiki.embarcadero.com/RADStudio/Rio/en/MacOS_Notarization and https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution for more information.

There is another small change worth noticing. The way the system menu items are merged, has changed compared to the past versions of Delphi — for both 32-bit and 64-bit versions of macOS. Now in the Application menu, which appears just after the Apple icon in the menu bar, system menu items (Services, Hide, Hide Others and Quit) are added automatically, so do not need to be added by the developer. Other items can be added manually to the Application menu using sub-items of the first visible main menu item in TMainMenu. You can see an example in the macOS screenshot above.