I created this application that contains several binary files (let's say X, Y and Z). I have a .plist file that specifies that the application should launch X when opened. Everything works fine 99.9% of the time but sometimes, it launches another binary (Y or Z).
This usually happens after something crashed in my application so I am guessing that this is a Mac OS mechanism that detects that something went wrong with a binary and try a different one.
This is very bad for me as my application becomes unusable until I uninstall and re-install it.
If these additional binaries are just launched for performing certain tasks within your application, there's no reason they need to be stored in the same folder as the main binary for your app bundle. If you're not already storing them in the Resources folder inside the app bundle, then you might try putting them there instead of in the MacOS folder where the main binary is. I would think that would sufficiently hide them from whatever mechanism is launching a different binary instead of the main one.