Last weekend I had a funny idea to continue the preparation on supporting Apple Silicon for the MBS FileMaker Plugin. The work went nice until we came to linking the project and FMWrapper.framework was Intel only. But I had an idea and made myself a dummy FMWrapper.framework, which exports the right functions and is built for both Intel and Apple Silicon. The plugin builds now and we got a new plugin file for both CPU architectures. Checking in Terminal, the file command reports the content like this:
The new plugin is 53.7 MB big. The arm64 side is 26.2 MB in size and a bit smaller than the 27.6 MB part for Intel. Since disk space is no longer a problem, we intend to simply ship this file with both targets later this year and avoid trouble with clients installing the wrong version: Intel or Apple Silicon.
> file MBS.fmplugin/Contents/MacOS/MBS
MBS.fmplugin/Contents/MacOS/MBS: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit bundle x86_64] [arm64]
MBS.fmplugin/Contents/MacOS/MBS (for architecture x86_64): Mach-O 64-bit bundle x86_64
MBS.fmplugin/Contents/MacOS/MBS (for architecture arm64): Mach-O 64-bit bundle arm64
Technically you can of course use lipo command line tool to reduce the code you don't need, but that breaks code signature.
Then you get an Intel only and FileMaker may tell you that there is no longer a signature included.
codesign --remove-signature MBS.fmplugin
lipo -extract x86_64 -output MBS.fmplugin/Contents/MacOS/MBS MBS.fmplugin/Contents/MacOS/MBS
Let us know if you have questions. We look forward to news from Claris about when they will support Apple Silicon directly.