The iOS 5 changed the uniqueIdentifier code?

我们两清 提交于 2019-12-11 13:12:55

问题


The function

[[UIDevice currentDevice] uniqueIdentifier]

Is deprecated in iOS 5 and I found the solution in this project using the MAC address: https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5

Ok, it is solved. But now I discovery that iOS 5 CHANGED the format of code that uniqueIdentifier return.

In iOS 4.x it is in this format:

93F38DEB-3C0B-5C09-B746-0DFDFDDB297C

Now the iOS 5, the same function return in this format:

93f38deB3c0b5c09b7460dfdfddb297c

Anyone know if the code changed at all? It is different only is format or the code in really different for the same device?


回答1:


A MAC Address is a (supposedly) globally unique identifier attached to a network interface, though they can be changed in many ways.

The uniqueidentifier that Apple used to provide access to was attached to the device hardware and not changeable, which made it excellent for tracking a user across apps and sessions. That's also the reason Apple is removing it, if I had to guess. Not having a way to track users across apps and sessions increases a user's privacy on their devices.

I wouldn't be surprised if Apple removes access to the MAC Address eventually for the same reasons, so it might benefit you to examine other options for tracking devices.




回答2:


[[UIDevice currentDevice] uniqueIdentifier] will still give you the same result as before. The project that you link to is not a 1:1 replacement, it is an alternative that gives you a similar solution using a different implementation, thus the two string are different.




回答3:


You shouldn't use unique identifier on iOS 5. That's all you need to know.

The unique identifier on iOS was always something redundant and a big security threat. Other operating systems don't have unique identifiers and they can live without them.

  1. You can always generate unique identifiers on your server and send them to your device.
  2. You can always generate them from some unique system property (e.g. MAC), using system functions. On iOS you can create a unique identifier using CFUUIDCreate. This identifier is unique across devices and across time (you'll get a different identifier every time you call it) but you can save them (e.g. into keychain).



回答4:


The code CHANGED!!!!!

UniqueIdentifier is no more UNIQUE!!!

The first format have 36 hexa lenght

93F38DEB-3C0B-5C09-B746-0DFDFDDB297C

The second have 40 hexa!!!!!

Because this, it changed. I don't know if it append more hexa to identifier, but the bigger size changed al all.



来源:https://stackoverflow.com/questions/7894258/the-ios-5-changed-the-uniqueidentifier-code

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!