Search code examples
iosxcodeios7xcode5imei

Get IMEI for iOS7 programmatically


in XCode 4.6, iOS 6.1, we use CoreTelephony to obtain IMEI, the same way mentioned in get IMEI on iPhone with CoreTelephony? question, but after switching to iOS7 and XCode 5 it doesn't work anymore. My system considers IMEI as an unbreakable way to identify a cellphone and guarantee it is linked to a specific user, also other security issues depend on this identifier. With the new iOS the code is not working and we hadn't found a way to obtain it.

My central question is: What options do I have to obtain IMEI in iOS7 / XCode 5?

Variations are: - How else could I guarantee a cellphone belongs to a specific person? Identity is very important in my system and ownership of device is a requisite. - What other options do we have to keep secure the system without the need to rewrite too much?


Solution

  • Unless there is a private API solution found - our organization is moving forward with placing the IMEI and phone# into our Enterprise Applications as a guarded Application Settings.

    With the new camera based barcode recognition of iOS7 - the IMEI can even be scanned from the phone box during initial kitting and deployment rather than entered by hand.

    We also considered tracking the identifierForVendor UUID in a database etc. linking to IMEI/Phone# but since it can change and since our historical data is all IMEI based - didn't make sense to add that layer of tracking complexity to a semi-useless identifier that doesn't trace back to a universal meaningful tracking mechanism like Phone/IMEI.