Каким образом код может отличать внешние жесткие диски USB и твердотельные накопители, с одной стороны, от USB-накопителей, с другой стороны?
Я не знаком с API-интерфейсами macOS (или системными вызовами, прерываниями, обменом сообщениями и другими вещами), но я предполагаю, что это будет в I / O Kit или Disk Arbitration?
В командной строке терминала вы можете использовать system_profiler SPUSBDataType
и просмотреть эту информацию в разделе «Съемные носители».
system_profiler SPUSBDataType
считает, что USB-накопитель и SD-карта являются съемными носителями, но не жестким диском или SSD, хотя все диски могут также быть удаленным. Я предполагаю, что это продолжение того, когда нужно отличать дисководы гибких дисков, компакт-дисков и DVD от жестких дисков. Я столкнулся с этим, используя кроссплатформенную библиотеку, которая исключает USB-накопители из списка дисков для Windows, но не для Mac. - person hippietrail   schedule 12.12.2020system_profiler
звучит как программа, а не как системный интерфейс. - person Rob   schedule 15.12.2020