Skip to content

Instantly share code, notes, and snippets.

@jonnyholland
Forked from leogdion/serialNumber.swift
Created August 3, 2025 01:59
Show Gist options
  • Select an option

  • Save jonnyholland/40d550f26f2f1aad8f7a21d3bfceb2a4 to your computer and use it in GitHub Desktop.

Select an option

Save jonnyholland/40d550f26f2f1aad8f7a21d3bfceb2a4 to your computer and use it in GitHub Desktop.
How To Get A Serial Number on macOS in Swift
var serialNumber: String? {
let platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice") )
guard platformExpert > 0 else {
return nil
}
guard let serialNumber = (IORegistryEntryCreateCFProperty(platformExpert, kIOPlatformSerialNumberKey as CFString, kCFAllocatorDefault, 0).takeUnretainedValue() as? String)?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines) else {
return nil
}
IOObjectRelease(platformExpert)
return serialNumber
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment