El desarrollo de Mac OS X es un animal bastante nuevo para mí, y estoy en el proceso de migrar a través de algún software. Para la licencia de software y el registro, debo ser capaz de generar algún tipo de identificación de hardware. No tiene que ser nada sofisticado; Dirección MAC de Ethernet, serie de disco duro, serie de CPU, algo así.ID de hardware único en Mac OS X
Lo tengo cubierto en Windows, pero no tengo ni idea en Mac. ¡Cualquier idea de lo que tengo que hacer, o dónde puedo obtener información sobre esto sería genial!
Editar:
Para cualquier otra persona que esté interesada en esto, este es el código que terminé usando con la clase QProcess de Qt:
QProcess proc;
QStringList args;
args << "-c" << "ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformUUID/ { print $3; }'";
proc.start("/bin/bash", args);
proc.waitForFinished();
QString uID = proc.readAll();
Nota: Estoy usando C++.
Gracias, esta parece ser la forma en que funciona mejor. La salida de System Profiler parece variar en diferentes sistemas, por lo que me da miedo que una avalancha de llamadas de soporte no pueda registrar el software. – Gerald
Sin embargo, esta técnica es fácil de descifrar: simplemente reemplace '/ usr/sbin/ioreg' con un script que devuelva un UUID conocido (en lugar de un UUID específico de la máquina). Llamar directamente a las bibliotecas del sistema (por ejemplo, la respuesta de @ yairchu) hará que el crackeo sea menos trivial. – smokris
@smokris de lo contrario, ¿es equivalente a IORegistryEntryFromPath? – tofutim