UUID for app on iOS5
Possible Duplicate:
UIDevice uniqueIdentifier Deprecated - What To Do Now?
如我所料,您知道,
我从文档中了解到,苹果希望我们(开发人员)创建自己的UUID(我猜是使用
我需要一个UUID的原因是因为我在认证过程中将包括UUID在内的大量信息发送到我的服务器,如果服务器可以"猜测"下一次启动或重新安装应用程序或其他应用程序实现我的库时用户是谁,我希望能够跳过一些步骤。江户记1〔2〕似乎对我没有帮助。
我也快速地看了一下Gekitz,但据我所知,它仅仅基于电话中以太网"卡"的MAC地址。这不合适,因为我有一种模糊的感觉,认为MAC地址是可变的。
An alphanumeric string unique to each device based on various hardware details.
现在我编写了这个代码,它检索一个UUID。但是一旦我在xcode中清理并在手机上重新安装应用程序,我就会得到一个新的uuid。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSString *UUID = @""; if (![defaults valueForKey:@"UUID"]) { CFUUIDRef UUIDRef = CFUUIDCreate(kCFAllocatorDefault); CFStringRef UUIDSRef = CFUUIDCreateString(kCFAllocatorDefault, UUIDRef); UUID = [NSString stringWithFormat:@"%@", UUIDSRef]; [defaults setObject:UUID forKey:@"UUID"]; } else { UUID = [defaults valueForKey:@"UUID"]; } [deviceInformation setObject:UUID forKey:@"UUID"]; |
综上所述,我的问题如下:
有没有一种可靠的方法来创建一个UUID,它基于一个"很难"篡改的设备,并给我作为接收器一点值得依赖和信任的东西?这不必基于设备,可以基于应用作为应用UUID,只要在重新安装后相同。
到目前为止,Mac似乎是唯一已知的识别设备的"稳定"方法。
看看EricaSadun的
她还有一个
As iPhone evangelist Matt Drance tweeted,"IOKit is not public on iPhone. Lack of headers and docs is rarely an oversight."
所以使用
据我所知,如果用户不破解设备,就无法更改Mac(然后他可以做任何他想做的事情)。所以我的建议是忽略越狱者,只使用基于Mac的UUID。
警告!Mac地址API在iOS 7中不起作用。