With the notarization and signing requirements added to macOS Catalina, we have been having issues with supporting it in WPILib. Right now there are ways around it in some cases, but Apple is saying come January those requirements will be becoming more strict. So as of now, if you want to keep compatibility with WPILib and being able to build robot code, we highly recommend you stay on Mojave, or even better High Sierra, as Catalina might actually become problematic mid season. We are just not sure about this yet, but figured we should get this out there just in case it does become an actual problem.
I haven’t had any issues so far. Could you be more specific with the problems you ran into?
If you had installed all wpilib things before updating, everything works. But upon installing new versions, like what are going to be needed for 2020, Gatekeeper will start complaining very much.
If it does become too much of a problem, you could try using Bootcamp to dual boot Windows.
Is it complaining about WPILib because it’s not signed?
Correct. Well, to be more precise, all the different executables/libraries WPILib needs to operate, for example Java, the C++ compiler, the various JNI libraries, etc. All of these things (except Java) are things we build ourselves.
Now that the 2020 season is in full swing, has there been any updates?
No, we didn’t get a chance to look into getting anything signed. We have docs on how to disable gatekeeper for the 2020 season, but the recommendation is still to not update.
For what it’s worth, We did a test in the fall with our school’s IT department. They had a laptop with Catalina (They plan to switch everyone over next summer, I believe), we got them the full install and WPI lib. They signed everything themselves, put it in the school’s app store, and installed on the laptop - it worked without any issues. It’s our general process for everything we need on student laptops (minus the signing… that’s going to be new next year, if it’s still needed!), we’re lucky to have a good relationship with them
Not that this is useful, but it’s worked for me. Gatekeeper complains a lot initially, but then it pretty much just works.