Mac的序列号是一个唯一的标识符字符串, 与其他所有序列号不同, 该序列号用于请求保修服务, 报告等时。在mac上很容易找到序列号, 你只需单击屏幕顶部的Apple菜单图标, 然后选择”
关于本机”
, 有关Mac的信息将显示在屏幕上(处理器, Ram等)。
如果你正在开发的应用程序出于某种原因需要知道该序列号, 则可以使用一种非常简单的方法在Swift代码中获取序列号。可以将以下方法getMacSerialNumber添加到你的代码中以获得上述代码:
/**Retrieves the serial number of your mac device.- Returns: The string with the serial. */func getMacSerialNumber() ->
String {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}return serialNumber ?? "Unknown"}
在这种方法中, 如果无法确定序列号, 它将返回Unknown作为结果。
视图示例以下代码将渲染一个空窗口, 中间带有一个标签, 显示你的Mac序列号:
import SwiftUIstruct ContentView: View {var body: some View {Text("Your serial number is: " + getMacSerialNumber()).frame(maxWidth: .infinity, maxHeight: .infinity)}}/**Retrieves the serial number of your mac device.- Returns: The string with the serial. */func getMacSerialNumber() ->
String {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}return serialNumber ?? "Unknown"}struct ContentView_Previews: PreviewProvider {static var previews: some View {ContentView()}}
【如何使用Swift检索Mac的序列号】编码愉快!
推荐阅读
- 如何使用alphaTab在带有JavaScript的浏览器中显示Guitar Pro选项卡
- 如何判断你的代码更改是否有效
- 如何使用浏览器中的JavaScript小技巧在Instagram上取消关注用户
- 制作还是嵌入(确定如何在你的应用程序中构建分析)
- 如何在JavaScript中删除画布周围的透明像素
- 使用onlinetuner.co在JavaScript中实现Live Guitar Tuner
- 如何检查reCAPTCHA框是否已过期
- 使用VexFlow 2在JavaScript中渲染音乐符号(乐谱)
- 如何在JavaScript中从字符串名称执行函数(按名称执行函数)