I"m learning to use xcode to make my plugins compatible for mac.
I get some .dylibs.
What is the process for generating .bundle?
I get some .dylibs.
What is the process for generating .bundle?
Posted Sat 10 Oct 20 @ 11:18 am



Add the framework : CoreFoundation.framework by clicking on the +

By default the bundle is created in this folder /Users/xxxx/Library/Developer/XCode/DerivedData/xxxxxxx
(see in red below)

Personnaly I prefer a relative path. Click on "File" then "Project settings..."

You can also define this relative path approach to be activated by default for each new project by clicking on "XCode" then "Preferences".
Please also not the "Archives" path that you can also customize.

The idea behind the type of build (debug or release) is available by clicking on "Product" then "Scheme" then "Edit Scheme"
"Archives" is when you want to deploy your build on AppStore

For release build, you can change the "Run" to select "Release" instead of "Debug" in this window

Then click on "Product" then "Destination" then "Choose Destination", select "Any Mac (Intel)" instead of "My Mac"
After that, you can start to add your files (.h and .cpp) in the "MyPlugin" yellow folder.
Add your resources if you have some (in order to be included in the bundle) in "Copy Bundle Resources" section.
Add your .cpp files (no need to add .h files) in "Compile Sources" section

Finally you click on "Product" then "Build"
Posted Mon 02 Nov 20 @ 10:51 pm
Thank you DJCEL.
I will try the week-end ;-)
I will try the week-end ;-)
Posted Sat 07 Nov 20 @ 10:24 am
I have just successfully compiled in .bundle on mac :-)
Is there also a release mode on xcode?
Because apparently the compilation is in debug mode.
Is there also a release mode on xcode?
Because apparently the compilation is in debug mode.
Posted Sat 07 Nov 20 @ 3:12 pm
I answered with additional screenshots above.
"Archives" is when you want to deploy your build on AppStore
"Archives" is when you want to deploy your build on AppStore
Posted Sat 07 Nov 20 @ 10:50 pm
Perfect DJCEL !
Thank you
Thank you
Posted Sun 15 Nov 20 @ 12:53 pm
You are welcome. You can share with me one test of bundle file (release build) (zip it before sending it) and i check on my system that everything works ok.
Then you can upload everything on the website ;-)
Use the variable VDJ_MAC in your code (with #if defined(VDJ_MAC) on the parts of your code that are differents between both version) to keep one source file. Easier for updates
Then you can upload everything on the website ;-)
Use the variable VDJ_MAC in your code (with #if defined(VDJ_MAC) on the parts of your code that are differents between both version) to keep one source file. Easier for updates
one_example wrote :
#if (defined(VDJ_WIN))
rcXML.id = IDR_SKINXML; // as defined in resource.h
rcPNG.id = IDR_SKINPNG; // as defined in resource.h
rcXML.type = "XML";
rcPNG.type = "PNG";
#elif (defined(VDJ_MAC))
rcXML.name = "FX_GUI.xml";
rcPNG.name = "FX_GUI.png";
#endif
rcXML.id = IDR_SKINXML; // as defined in resource.h
rcPNG.id = IDR_SKINPNG; // as defined in resource.h
rcXML.type = "XML";
rcPNG.type = "PNG";
#elif (defined(VDJ_MAC))
rcXML.name = "FX_GUI.xml";
rcPNG.name = "FX_GUI.png";
#endif
Posted Sun 15 Nov 20 @ 1:11 pm
Please use "arm64" for M1 chip or "x86_64" for intel chip
But you can compile with both to get an universal binary (ie compatibility of the program with both chips)
https://developer.apple.com/documentation/apple-silicon/porting-your-macos-apps-to-apple-silicon
But you can compile with both to get an universal binary (ie compatibility of the program with both chips)
https://developer.apple.com/documentation/apple-silicon/porting-your-macos-apps-to-apple-silicon
Quote :
i386 : 32-bit intel
x86_64 : 64-bit intel
x86_64h : 64-bit intel (haswell)
arm64 : 64-bit arm
arm64e : 64-bit arm (Apple Silicon)
arm64_32 : 32-bit code on 64-bit arm
armv6 : 32-bit arm
armv7 : 32-bit arm
armv7s : 32-bit arm
armv7k : 32-bit arm
x86_64 : 64-bit intel
x86_64h : 64-bit intel (haswell)
arm64 : 64-bit arm
arm64e : 64-bit arm (Apple Silicon)
arm64_32 : 32-bit code on 64-bit arm
armv6 : 32-bit arm
armv7 : 32-bit arm
armv7s : 32-bit arm
armv7k : 32-bit arm
Posted Sat 29 Jan 22 @ 1:47 pm