下面的方法使用IOKit來獲取設備序列號,但現在使用iOS 8會使應用程序崩潰。有沒有人知道這個工作?我擁有大量公用設備的公開可用設備,其中包含的企業應用程序不適用於應用商店提交,並且它們使用序列號來唯一標識設備。你如何獲得iOS 8的設備序列號?
CFTypeRef platformSerialNumber = IORegistryEntryCreateCFProperty(platformExpertDevice, CFSTR("IOPlatformSerialNumber"), kCFAllocatorDefault, 0);
if (CFGetTypeID(platformSerialNumber) == CFStringGetTypeID())
{
serialNumber = [NSString stringWithString:(__bridge NSString*)platformSerialNumber];
CFRelease(platformSerialNumber);
}
IOObjectRelease(platformExpertDevice);
它使用EXC_BAD_ACCESS在CFGetTypeID上崩潰。
控制檯日誌:* - [NSKeyedUnarchiver initForReadingWithData:]:數據是NULL
可能想顯示崩潰的代碼。 – DrC 2014-09-19 19:54:32
谷歌搜索的嘗試似乎並不樂觀。蘋果認爲這是一種隱私侵擾,所以他們不支持它作爲一種能力。用戶可能會更好地識別。 – 2014-09-19 19:57:30