Apple is officially dropping the hammer on UDIDs :
https://developer.apple.com/news/?id=3212013a
Do you have any suggested alternatives for system.getInfo(“deviceID”) ? Will we get access to the ASIdentifierManager properties on iOS?
Apple is officially dropping the hammer on UDIDs :
https://developer.apple.com/news/?id=3212013a
Do you have any suggested alternatives for system.getInfo(“deviceID”) ? Will we get access to the ASIdentifierManager properties on iOS?
We are aware of this deadling and are discussing the best route to take to provide you an alternative.
What about mac address ?
We are aware of this deadling and are discussing the best route to take to provide you an alternative.
Starting with Daily Build 1063, the system.getInfo(“deviceID”) no longer returns the UDID. 3rd Party vendors have been addressed since then.
We should be good. However deviceID is still a Unique Device Identifier in effect and you can use it to track people in a way that Apple does not want us to track people.
How does this Unique device Identifier work? Will it be reset if the app is uninstalled and re-installed? Is it consistent between apps (for ad conversions)?
I’ll ask and see how it’s generated. It should be consistent between Corona SDK Apps and survive a reinstall.
Its generated by md5 hashing the mac address so its consistent between Corona apps and installs.
Beautiful. Thanks for the official update.
Thanks for the info.
Will there be official support for obtaining the Advertising ID of the device as well?
Well, since you have come up with an alternative that is effectively the same… What is the chance that Apple reject apps with this implementation?
Does that mean that now (from build 1063) system.getInfo(“deviceID”) returns a string that is md5 hash of the mac address ?
Hey guys, before locking in on the next public Corona release I’d encourage you to consider adding a few things related to the iOS device id:
Expose the new iOS Vendor ID. The Vendor ID is essentially Apple’s sanctioned way of providing a unique device ID for a developer that works across all of that one developer/vendor’s applications. This Vendor ID isn’t ideal, of course, because if a user removes all of a vendor’s applications then they’ll have a new Vendor ID next time they install an app. But we likely need to conform to Apple’s desires on this front soon anyway.
Expose the new iOS Advertising ID. The Advertising ID is Apple’s new standard for working with ad networks. Having this will allow Corona developers to easily work with different ad providers under Apple’s new standard.
Provide a method to access the deprecated UDID, with the clear caveat that apps only have one month left where they can submit to Apple with this. Cutting over to the MAC address - or, MD5(mac) - might be difficult for some developers who have been using UDID to uniquely identify their users from server-side APIs. I’ve been doing that (even though now that was clearly a bad design decision on my part) so I can’t simply upgrade to the latest daily build and provide my users continuity. Luckily, I’m an Enterprise developer so I can submit app updates this week that bridge access to the deprecated UDID along with a new device ID method so I can make sure my apps’ users don’t get logged out. But I bet there are a decent number of non-Enterprise developers in this same boat.
Thanks
We have plans around #1 and #2. There are some issues with different iOS versions but we’ll try to mitigate those as much as possible while we also strive to be as cross-platform as possible.
Unfortunately, #3 isn’t an option as Apple uses static analysis to determine whether an app can access the UDID, not a runtime analysis of whether it actually does so (when you think about it, checking for the latter would be impossible) so we have to ship a public release that doesn’t reference that interface at all. Which is what we did today.
Got it, thanks Perry. That makes complete sense on #3 then.
I’ll look forward to Vendor & Advertising ID support soon.
Does anybody know for sure; isn’t UDID still used for getting a developer provisioning profile? I.e., I want a co-worker to test my apps, so I still build with their UDID registered in the app profile, correct?
Thanks!
Daniel
Hi there,
Yes, there’s no problem using UDID to provision different devices for development builds of your apps. The restriction is only about accessing the UDID at runtime from your code.
For iOS the system.getInfo(“deviceID”) should be changed from UDID to MAC address. There is no other unique identifier available that is truly system wide. Using an MD5 hash of the MAC address is insufficient as it is not the true value of the device, just something Corona has come up with, so it’s not compatible with advertisers and such which are switching to MAC address (not the hash of it).
What about mac address ?
Starting with Daily Build 1063, the system.getInfo(“deviceID”) no longer returns the UDID. 3rd Party vendors have been addressed since then.
We should be good. However deviceID is still a Unique Device Identifier in effect and you can use it to track people in a way that Apple does not want us to track people.