objective C iOS Device ID in iOS7

I want to ask that whether objective C can obtain a unique device ID of the Device. “uniqueIdentifier” is deprecated in iOS7 and I try to use “identifierForVendor” but it gives me a different ID after the app is re-installed. I want to find a stable device ID after the app is re-install, and even the iOS is changed. In the early version of iOS, we can use MAC address to achieve such goal. But now, in iOS7, the MAC address is no longer available. How can i find a stable device ID of the iOS device in iOS7?

Maybe using Keychain to store the “identifierForVendor” value is a good approach. But will it still be the same after the whole iOS is re-installed?

  • Getting Device ID or Mac Address in iOS
  • Apple rejected app because it's transmitting MAC Address without user permission
  • How can I programmatically get the MAC address of an iphone
  • iOS - Get ARP table
  • What exactly means iOS networking interface name? what's pdp_ip ? what's ap?
  • how to find MAC address in MAC OS X programmatically?
  • 2 Solutions Collect From Internet About “objective C iOS Device ID in iOS7”

    iOS does not allow you to identify a device universally anymore. That is the basic idea behind removing access to UDID and Mac address.
    You need to change the design of your application to adapt to these new circumstances.

    in my case i used keyChain to save first generated UUID then i used it as unique device id it still persistent even if after uninstalling the app