0

I am not looking for app-store submission, we are creating an enterprise level app.

There are a few problems we have run into while trying to create in-house application for our users and one of them is uniquely identifying devices so that we can know which device it is from the list of devices we have at backend.

We are not planning on using any MDM servers- we are just using OTA deployment of an app, need to know when every-time a device communicates within the app with our secure server that which device it is. This identification is important because it should stay intact even after device wipe and/or advertising identifier reset. Identifying devices using UDID/ Serial number is not possible in app-store apps but I wanted to know if it is possible using enterprise in-house apps? I have seen answers on stackoverflow using various options and have not been able to find that is why I have created the question here.

Plus we also need some way to find out using any method in private apis if the device is iCloud locked to any account (YES | NO) and if Find my iPhone is turned on (YES | NO)

If anyone has any idea about this? Much appreciated.

ShayanK
  • 1,243
  • 2
  • 13
  • 27
  • You should seriously look at using an MDM. – Paulw11 May 28 '16 at 13:03
  • Everything that could be unique per device was blocked and I don't remember anyone finding anything useful. MAC, IMEI, UDID - all blocked and can be obtained only on jailbroken devices. It seems that the only way now is to deploy an MDM server. You can even write your own and implement only IMEI retrieval, you don't need to implement everything MDM server can do. – creker May 28 '16 at 13:04

1 Answers1

1

I think my gist, located here, will be helpful. Specifically, the MAC address, battery serial number (which is on StackOverflow somewhere else), and/or die ID. No extra headers for the private APIs are needed! The MAC address property needs further testing though (I've tested it on 2 iOS 9 devices so far, both of which work fine). Don't expect these to work forever, since Apple can easily patch and restrict access to any of these whenever they want to. Not sure about getting info on the iCloud lock or if Find my iPhone is turned on or not, though.

UPDATE 1

It seems as if Apple has (somehow) remotely patched the MAC address, and I have removed it from my gist. But everything else should work fine. In my opinion, the battery serial number is the most reliable way to go at this moment to uniquely identify iOS devices.

anthonya1999
  • 253
  • 3
  • 13