使用UDID创建唯一的用户身份

我正在开发一个与服务器通信以存储和交换数据的iPhone应用程序。由于我希望尽可能简单,我想避免为用户帐户注册(或mybe也使用密码)。是否可以(并允许?)获取iPhone设备的UDID并制作例如。它的MD5哈希值,我转移到服务器并用它进行身份验证?由于此ID是唯一的,因此我可以简单地使用它来登录并从服务器获取用户指定的数据,而无需创建登录数据。 是否允许访问UDID,对其进行MD5哈希并将其存储在数据库中? 第二个问题是:我如何获得UDID? ;-)     
已邀请:
是的,这是允许的,但请从文档中考虑我在下面报告的内容。 您可以按如下方式检索UDID:
NSString *udid = [[UIDevice currentDevice] uniqueIdentifier];
请注意Apple官方文档中的以下内容: 设备的唯一标识符(有时缩写为唯一设备标识符的UDID)是由各种硬件标识符(例如设备序列号)组成的散列值。保证每个设备都是唯一的。 UDID独立于设备名称。对于使用SIM(用户识别模块)卡的设备,UDID独立于SIM卡。 为了用户安全和隐私,您不得将设备的唯一标识符与用户帐户公开关联。 您可以将UDID与特定于应用程序的用户ID结合使用,以识别服务器上的特定于应用程序的数据。例如,您可以使用设备用户组合ID来控制对已注册产品的访问,或者在中央服务器中存储游戏的高分。但是,如果您正在开发游戏,则可能需要使用Game Center的玩家标识符键,如游戏套件编程指南中所述。 重要信息:永远不要仅基于UDID存储用户信息。始终使用UDID和特定于应用程序的用户ID的组合。组合ID可确保如果用户将设备传递给其他用户,则新用户将无法访问原始用户的数据。     
我已经使用UDID来检查设备是否已经有正在运行的订阅。 获取UDID很简单:
NSString *udid = [[UIDevice currentDevice] uniqueIdentifier];
如果您阅读了App Store规则,则会有一个部分介绍如何让用户创建帐户以将订阅移动到其他设备。 在本节中,Apple明确指出,帐户创建必须是用户必须输入的用户名和密码。用户名不能是电子邮件地址,因为它是个人信息。 如果您的应用程序对数据负担沉重,建议使用可选的用户帐户创建。 可以找到AppStore Review指南:http://developer.apple.com/appstore/resources/approval/guidelines.html     
我猜你的意思是UDID,对吗?也许这就是你找不到像这样的问题和答案的原因:)     
UDID
自iOS-6及更高版本后隐藏,因此您可以通过以下方式唯一识别设备:
NSString *UDID = [[UIDevice currentDevice] identifierForVendor];
    

要回复问题请先登录注册