Since Apple is deprecating Unique Device Identifier for apps, what is the best approach to link back an Enterprise App on a device that has been enrolled with MDM?
From MDM Protocol reference document, the enrollment is still using the the UDID for check-in procedure.
We can't use the new identifierForVendor because it is not as the same as the UDID for the check-in.
Let me update how i implemented my MDM solution,
I was thinking of using the MAC Address but in the latest iOS 7 the system will always return value 02:00:00:00:00:00.
We also can't get the device serial number.
So my question again, how can we know this app on this device belongs to this MDM enrollment on the server on (3). Because now, the app doesnt have any common key to be referred with the checked-in process. How will the server know which device is which?
Thanks.
The best way, and perhaps the only way, is to use the new Managed Apps configuration capabilities in iOS 7. You could have your MDM push down something like an API key to your app. Then your app presents that key in your call back to your MDM server or any other web service.
Once you push your config down to your app, you could pull out the API key with something like the below. Most of the mainstream MDM solutions already support this type of functionality in their latest versions.
NSDictionary *config = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"com.apple.configuration.managed"];
NSString *apiKey = config[@"kAPIKey"];
if (apiKey) {
//We got an API key and we can use it
} else {
//We didn't get an API key...something has gone wrong
}