# Cheapest Way to Create Mac Plugins?

**URL:** <https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141>\
**Category:** MacOSX and iOS\
**Created:** [March 22, 2021, 3:50pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141 "2021-03-22T15:50:56Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![SwissFrank](https://avatars.discourse-cdn.com/v4/letter/s/e9bcb4/32.png) [@SwissFrank](https://forum.juce.com/u/SwissFrank)\
**Post date:** [March 22, 2021, 3:50pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/1 "2021-03-22T15:50:56Z")

</div>

I’m a 25-year C++ programmer, all on Unix/Linux and Windows. I’ve developed a plugin with Juce and want to supply the Windows-using community.

Does anyone cross-compile for Mac on Linux or Windows successfully?

Failing that, what’s the oldest/cheapest Max I could buy to let me build Juce-based plugins?

For instance I see “Macbook Pro 13” Early 2015, 128GB" (disk I assume!) for about $410 on a local auction site. Would that do the job? I assume I can get the compiler and some test DAW for free?

---

<div class="post-metadata">

**Author:** ![ImJimmi](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/imjimmi/32/10843_2.png) [@ImJimmi](https://forum.juce.com/u/ImJimmi)\
**Post date:** [March 22, 2021, 4:03pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/2 "2021-03-22T16:03:28Z")

</div>

I have a 2009 Mac Mini that I used to do my mac builds on. It’s a PoS and completely horrible to use but it gets the job done - I had to install some extra RAM because it only had 2GB originally which was unusable. You may be limited to older versions of Xcode though (mine can’t be updated past Xcode 8) but other IDEs may work better.

If all you need it for is building, then you may be able to rent a VM machine running mac. I don’t know of any such services myself but I’m sure there are some. You may be limited to how much testing you can do with that however.

---

<div class="post-metadata">

**Author:** ![SwissFrank](https://avatars.discourse-cdn.com/v4/letter/s/e9bcb4/32.png) [@SwissFrank](https://forum.juce.com/u/SwissFrank)\
**Post date:** [March 22, 2021, 6:04pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/3 "2021-03-22T18:04:53Z")

</div>

Can you just ssh in and do things remotely with Putty? I hear it’s Mach/Unix, basically. Or do you have to learn how to drive the GUI?

---

<div class="post-metadata">

**Author:** ![TeotiGraphix](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/teotigraphix/32/2016_2.png) [@TeotiGraphix](https://forum.juce.com/u/TeotiGraphix)\
**Post date:** [March 22, 2021, 6:11pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/4 "2021-03-22T18:11:46Z")

</div>

I have never done this myself but I know a dev with multi platform audio that used a mac mini and wifi, triggered the build from Windows and voila.

This is possible, but I have no more info than this. 🙂

---

<div class="post-metadata">

**Author:** ![ImJimmi](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/imjimmi/32/10843_2.png) [@ImJimmi](https://forum.juce.com/u/ImJimmi)\
**Post date:** [March 22, 2021, 6:19pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/5 "2021-03-22T18:19:42Z")

</div>

You can definitely SSH to a mac, but I’m not sure if you can do the full remote desktop like you can with Windows?

---

<div class="post-metadata">

**Author:** ![cpr2323](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/cpr2323/32/18682_2.png) [@cpr2323](https://forum.juce.com/u/cpr2323)\
**Post date:** [March 22, 2021, 6:46pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/6 "2021-03-22T18:46:43Z")

</div>

> [@ImJimmi](#):
>
> but I’m not sure if you can do the full remote desktop like you can with Windows?

I use TightVNC to remote control my Mac Mini. ie. a Windows desktop machine is my main platform, and when I need to build/test on the Mac I use TightVNC to remote desktop to it. It is a usable solution if you do not need a performant experience, as there is some lag at times. But, it has been a workable solution for the past 10 years.

---

<div class="post-metadata">

**Author:** ![benvining](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/benvining/32/9922_2.png) [@benvining](https://forum.juce.com/u/benvining)\
**Post date:** [March 22, 2021, 6:47pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/7 "2021-03-22T18:47:22Z")

</div>

You can also use a service like GitHub actions to execute a build natively on Mac and Linux and upload the artefacts for you.

Obviously testing is a bit trickier, but it’s a free solution, and allows the build to be native instead of cross-compiled.

---

<div class="post-metadata">

**Author:** ![PluginPenguin](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/pluginpenguin/32/10203_2.png) [@PluginPenguin](https://forum.juce.com/u/PluginPenguin)\
**Post date:** [March 22, 2021, 7:55pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/8 "2021-03-22T19:55:59Z")

</div>

> [@benvining](#):
>
> You can also use a service like GitHub actions to execute a build natively on Mac and Linux and upload the artefacts for you.

For some inspiration on that route, you can have a look at my Open Source plugin which is built for Windows and macOS via GitHub actions. It’s CMake based, which makes a build like that super simple, but this should also work for Projucer based projects with some extra steps. Just have a look at the `.github/workflows` folder [GitHub - JanosGit/Schrammel\_OJD at develop](https://github.com/JanosGit/Schrammel_OJD/tree/develop)

While this makes building for multiple platforms automatically super easy, you have no chance to test it in a real DAW environment this way, so neither testing (besides automated unit tests) nor debugging is possible with that setup.

---

<div class="post-metadata">

**Author:** ![benvining](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/benvining/32/9922_2.png) [@benvining](https://forum.juce.com/u/benvining)\
**Post date:** [March 22, 2021, 7:57pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/9 "2021-03-22T19:57:32Z")

</div>

True. Although you could probably write a script to make the CI machine run pluginval, AUval, and/or the Steinberg validator once it’s finished the build ¯\_(ツ)\_/¯

---

<div class="post-metadata">

**Author:** ![PluginPenguin](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/pluginpenguin/32/10203_2.png) [@PluginPenguin](https://forum.juce.com/u/PluginPenguin)\
**Post date:** [March 22, 2021, 8:02pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/10 "2021-03-22T20:02:58Z")

</div>

Yeah of course, our Jenkins based CI system does that after every build and it’s a good way to catch errors. But especially based on that experience I learned that most of the edge case bugs are triggered either on Windows or on macOS and your first step after seeing that the validation failed on the CI is to run the same test locally under the debugger, so at some point you need the real machine for proper debugging.

---

<div class="post-metadata">

**Author:** ![benvining](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/benvining/32/9922_2.png) [@benvining](https://forum.juce.com/u/benvining)\
**Post date:** [March 22, 2021, 8:03pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/11 "2021-03-22T20:03:48Z")

</div>

Yeah that’s true. Debugging without an actual machine to test on is definitely a pain.

---

<div class="post-metadata">

**Author:** ![RolandMR](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/rolandmr/32/641_2.png) [@RolandMR](https://forum.juce.com/u/RolandMR)\
**Post date:** [March 22, 2021, 8:42pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/12 "2021-03-22T20:42:26Z")

</div>

While you can build on a Mac VM, I’m not sure if there is an easy way to create the certificates for signing without access to hardware. And you probably need hardware for testing. The machine you listed would probably be fine, or you could pick up an Air or a Mini probably for less.

---

<div class="post-metadata">

**Author:** ![eyalamir](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/eyalamir/32/2978_2.png) [@eyalamir](https://forum.juce.com/u/eyalamir)\
**Post date:** [March 22, 2021, 9:07pm UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/13 "2021-03-22T21:07:13Z")

</div>

There’s also AAX, which AFAIK requires a physical iLok to sign on both Mac and Windows, so I’m not sure how a remote solution would work for that.

I did see some online solutions where people got the regular code sign/notarize happen on a Github Actions machine, there are a few “Marketplace” actions for it, including ways to pass the certificates, but it isn’t straightforward.

---

<div class="post-metadata">

**Author:** ![railjonrogut](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/railjonrogut/32/505_2.png) [@railjonrogut](https://forum.juce.com/u/railjonrogut)\
**Post date:** [March 23, 2021, 6:03am UTC](https://forum.juce.com/t/cheapest-way-to-create-mac-plugins/45141/14 "2021-03-23T06:03:14Z")

</div>

Look for a late 2012 iMac. It’ll run up to MacOS Catalina and a 27” will let you expand the RAM to 32gb.

Rail
