AudioDeviceIOCallback receives no data

I’m writing a recorder on MacOS 12.6, extending AudioIODeviceCallback class.

I have picked the right soundcard, and all parameters(sample rate, I/O channel number, etc.) are correct. But when I start the program, the input data from audioDeviceIOCallback(const float** inputChannelData…) is always 0.

Any solutions? Or did I miss any JUCE options like juce_auido_device, macro definitions, etc?

P.S. My JUCE version is 7.0.2, and microphone access is on in Projucer.