There are three sets of leds on the Blackice MX. The blue power led is next to the HDMI connector and should always be on when the device is powered.
There are three leds between the usb connectors, connected to the STM32. The yellow led is connected to the mode button and you should leave that off.
The red led should be on while the device is being programmed and it goes off and the green led comes on when the device is programmed.
The leds between the usb and the hdmi connector are connected to the ice40 fpga and can be programmed from that. The blue and green ones are also connected to the other two buttons, so come of when you press those.
When you say the red and blue leds are constantly on, you presumably mean the blue power led, and the red led connected to the STM32 (between the usb connectors).
So your symptoms suggest that the device is not being programmed as the red STM32 led stays on and the green STM32 led does not come on.
It could be that the device name being used is not the correct one, or you don't have permission to the device, or the device is not in raw mode.
There is a "View Command output" in icestudio. If you click on that you should see the call to black-iceprog when it does the upload. Check that the device it is using is correct for your system. I am not sure how if finds the device. I think the apio upload software searches the connected usb devices for product and vendor.
You should also see from that file where the apio software is installed.
I am not a Mac user so I am not sure of the specific issues on the Mac.
Rather than immediately trying to use icestudio, it may be better to try apio or make files first as described in the Getting started guide - https://github.com/folknology/IceCore/wiki/IceCore-Getting-Started
But that guide might be a bit out of date