Ios 如何在对象C或swift中获取设备序列号
嗨,我是C目标的新手。 请帮助我如何在iPhone中获取设备序列号请帮助我 任何人请提供一个示例应用程序 提前感谢。对于iOS: 苹果不允许开发者在iOS上访问设备序列号。或者,他们为您提供: 一个字母数字字符串,用于向应用程序供应商唯一标识设备。(只读) 对于macOS:Ios 如何在对象C或swift中获取设备序列号,ios,objective-c,swift,Ios,Objective C,Swift,嗨,我是C目标的新手。 请帮助我如何在iPhone中获取设备序列号请帮助我 任何人请提供一个示例应用程序 提前感谢。对于iOS: 苹果不允许开发者在iOS上访问设备序列号。或者,他们为您提供: 一个字母数字字符串,用于向应用程序供应商唯一标识设备。(只读) 对于macOS: var serialNumber: String? { let platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMa
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
}
来源:对于iOS:
苹果不允许开发者在iOS上访问设备序列号。或者,他们为您提供:
一个字母数字字符串,用于向应用程序供应商唯一标识设备。(只读)
对于macOS:
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
}
资料来源:否,这在Swift或Objective-C中不可能。否,这在Swift或Objective-C中不可能。Link说明“如何在Swift中的macOS上获取序列号”。这在iOS中有效吗?@意思很重要啊,很好的一点-读得不好。编辑答案。请注意,这可能不是您想要的:@means matters good point-尽管用户没有提到他们为什么需要序列号。我应该编辑我的答案以包含你的帖子吗?请注意代码中有两种可能的内存泄漏。1) 如果您使用
takeUnretainedValue()
您负责释放对象(ARC不这么做),并且2)platformExpert
将不会被释放,如果nil
被返回,链接会说“如何在Swift中获取macOS上的序列号”。这在iOS中有效吗?@意思很重要啊,很好的一点-读得不好。编辑答案。请注意,这可能不是您想要的:@means matters good point-尽管用户没有提到他们为什么需要序列号。我应该编辑我的答案以包含你的帖子吗?请注意代码中有两种可能的内存泄漏。1) 如果您使用takeunrepainedvalue()
您负责释放对象(ARC不这么做),2)platformExpert
如果返回nil
,则不会被释放