Skip to content

Instantly share code, notes, and snippets.

@ftiff
Created July 20, 2016 16:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ftiff/f9a193d15a4da1d323be5f5584ebc06a to your computer and use it in GitHub Desktop.
Save ftiff/f9a193d15a4da1d323be5f5584ebc06a to your computer and use it in GitHub Desktop.
Get Serial Number from macOS as String
//
// getSerialnumber.swift
//
// Created by Francois 'ftiff' Levaux-Tiffreau on 18.07.16.
// Licence = MIT (https://tldrlegal.com/license/mit-license)
/*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
* TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
import Foundation
import IOKit
func getSerialNumber() -> String {
let platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice"))
let serialNumberAsCFString = IORegistryEntryCreateCFProperty(platformExpert, kIOPlatformSerialNumberKey, kCFAllocatorDefault, 0)
let serial = serialNumberAsCFString.takeRetainedValue() as! String
IOObjectRelease(platformExpert)
return serial
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment