Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios8 如何在iOS 8中获取设备序列号?_Ios8_Device_Iokit_Serial Number - Fatal编程技术网

Ios8 如何在iOS 8中获取设备序列号?

Ios8 如何在iOS 8中获取设备序列号?,ios8,device,iokit,serial-number,Ios8,Device,Iokit,Serial Number,下面的方法使用IOKit获取设备序列号,但现在使用ios8它会使应用程序崩溃。有人知道这方面的工作吗?我有大量公司拥有的公共可用设备,这些设备带有企业应用程序,不打算提交app store,它们使用序列号来唯一标识设备 CFTypeRef platformSerialNumber = IORegistryEntryCreateCFProperty(platformExpertDevice, CFSTR("IOPlatformSerialNumber"), kCFAllocatorDefault,

下面的方法使用IOKit获取设备序列号,但现在使用ios8它会使应用程序崩溃。有人知道这方面的工作吗?我有大量公司拥有的公共可用设备,这些设备带有企业应用程序,不打算提交app store,它们使用序列号来唯一标识设备

CFTypeRef platformSerialNumber = IORegistryEntryCreateCFProperty(platformExpertDevice, CFSTR("IOPlatformSerialNumber"), kCFAllocatorDefault, 0);
if (CFGetTypeID(platformSerialNumber) == CFStringGetTypeID())
{
     serialNumber = [NSString stringWithString:(__bridge NSString*)platformSerialNumber];
     CFRelease(platformSerialNumber);
}
IOObjectRelease(platformExpertDevice);
它在具有EXC\u BAD\u访问权限的CFGetTypeID上崩溃


控制台日志::-[NSKeyedUnarchiver initForReadingWithData::]:数据为空

它崩溃,因为platformSerialNumber为零


从iOS 8 Beta 5开始,IOPlatformSerialNumber属性被删除,检索其值的调用现在返回nil。

可能希望显示正在崩溃的代码。粗略地用谷歌搜索似乎不太可能。苹果认为这是对隐私的侵犯,所以他们不支持这一功能。按用户标识可能会更好。请更正问题所在的IORegistryEntryCreateCFProperty