The macOS notarization process continues to evolve. Unfortunately, the internal structure of 4D components designed with 4D v11—intended to enable cross-platform compatibility—no longer meets the requirements introduced by Apple for Silicon-based Macs, making notarizing components increasingly challenging.
To simplify the deployment process, we have updated the component structure starting with 4D 20 R8. This new folder structure makes notarization and deployment as straightforward as deploying an application. However, there is an important caveat: the updated structure is not compatible with older versions of 4D (e.g., 4D 20 R7 and earlier), while older components will remain compatible with newer versions of 4D.
The Build4D component has also been updated to reflect the new structure. When building components, be cautious and ensure you are using the correct version of Build4D.
Important Reminder: Components built with 4D 20 R7 or earlier may encounter errors during notarization. The recommended solution is to update to 4D 20 R8.
The detailed list of changes to the component structure:
All the component files are now inside a Contents folder.
The info.plist file is now added when building a component.
Some fields are automatically set by 4D at build time, taking their content from the buildApp.4DSettings:
- CFBundleDisplayName and CFBundleName will be set with the name of the application
- CFBundleShortVersionString and CFBundleVersion will take the value of Versioning / Common / CommonVersion
- NSHumanReadableCopyright will take the value of Versioning / Common / CommonCopyright
For components built with the Build4D component, these files will take these values:
- CFBundleDisplayName and CFBundleName will be set with the name of the application
- A copyright can be set and will fill the NSHumanReadableCopyright field
- CFBundleShortVersionString and CFBundleVersion will be set with the version of the application (in the x.x.x format)
If you want to read more about notarization, you can read this blog post that will explain you everything.
If you have any questions or need further assistance, please ask on the 4D forum. We’re here to help make this transition as smooth as possible.