Universal bundle for arm64 and x86_64

Instead of a zipped xojo_plugin we can put a bundle for a plugin in the plugins folder. Even a universal i386-x86_64 bundle was fine and Xojo figured out what to choose. But now, in my hands, an arm64-x86-64 bundle is not loaded as a arm64 target on a M1 MacBook Pro (it does see the x86_64 flavor and loads it when compiled for x86_64).

Of course with a zipped xojo_plugin with separate flavors (Mac64, Arm64) all is fine. Even a Universal dylib in the specific hierarchy of the xojo_plugin zip is fine.

Not sure if it is me


Your universal dylib is in a folder “Mac Universal” within the “Build Resources” folder within the plugin name folder within the folder with “.xojo_plugin” in the name?

Just like the internal plugins?

Yup

It is not Xojo. The issue is

“error 14:02:12.976373-0500 kernel Library Validation failed: Rejecting ‘/Users/anvh/Developer/Xcode&CW/NativeControls/Plugin Converter/Mach-O Build/arm64/XSClasses.dylib’ (Team ID: none, platform: no) for process ‘SegmentReader.de(17542)’ (Team ID: none, platform: no), reason: Trying to load an unsigned library”

This error as you can see also occurs with an arm64 flavor only when trying to dlopen an arm64 plugin flavor. Calling dlopen here is done by an in-house app that checks plugins. Note that this error does not occur when opening a x86_64 or an i386 flavor.

Unsigned plugins are correctly dlopen-ed and installed by Xojo.

all Apple Silicon code must be signed.
So please sign your dylibs.

1 Like

If this error occurs when the OS tries to run the application, you can always try App Wrapper 4 as I put a lot of work in to make sure that all the components of an application are signed during a debug run.

The latest 4.1 update includes changes to how the scripting system works so it’s compatible with 2020r2.1

If you don’t have a current license for App Wrapper, there is a 14-Day trial which will allow you to test it before you consider purchasing a license.

2 Likes

Been there, done that, have the scars :frowning:

1 Like