iOS 8.1 以降、IOKit を使用してシリアル番号にアクセスできなくなったようです。
CFTypeRef serialNumberAsCFString;
io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice"));
serialNumberAsCFString = IORegistryEntryCreateCFProperty(platformExpert, CFSTR(kIOPlatformSerialNumberKey), kCFAllocatorDefault, 0);
IOObjectRelease(platformExpert);
NSString *sn = CFBridgingRelease(serialNumberAsCFString);
このserialNumberAsCFString
時点で は になる0x0
ため、sn
は null になります。
では、シリアル番号を取得するにはどうすればよいでしょうか。それとももう無理ですか?
(IOKit はプライベート フレームワークであり、その使用によりアプリが拒否されることを完全に認識しています。)