有什么办法来识别一个iDevice用户?

我正在开发一个原生的iOS应用程序,而且我也是一种新手,可以用于Objective-C和苹果设备的开发。

在我的应用程序中,我需要通过一种独特的方式来识别用户。 我认为最好的解决办法是获取当前的Apple ID,并将其存储在在线数据库中用于我的目的。 唯一的问题是用户可以改变它。 所以,我认为苹果公司必须有另一个标识符来唯一地区分实际账户。

有什么办法可以得到那个吗? 我错过了什么? 有些课?

在此先感谢…皮特

所有的IOS设备都有唯一标识符UDID,可以通过以下方式访问:

 [[UIDevice currentDevice] uniqueIdentifier] 

但苹果不鼓励这样做,有些应用程序因为使用这个软件而遭到拒绝,主要是因为苹果公司不希望你跟踪或者把设备当作独一无二的东西,因为你可以把它卖掉或者换成别人。

你可以做的是创build一个唯一的标识符的UUID,并将其存储在钥匙链中,这意味着即使应用程序被删除,这个唯一标识符也将保留在手机中,只有当您进行工厂重置时才会消失,这是苹果想要的。

另一个解决scheme是使用外部库,这些库将在设备基础上生成uniqueID,如openUDID或UIDevice-with-UniqueIdentifier-for-iOS-5

希望这可以帮助!

没有办法获得一个唯一的用户标识符(除非有礼貌地询问用户可选和未经validation的响应)。 苹果公司的隐私政策看起来像不允许他们以任何方式暴露应用程序用户的身份信息。

iOS设备的UDID不仅被Apple弃用,而且与用户无关(因为设备可能已经改变了所有者,并且单个用户可以具有多个具有不同UDID的设备)。

现在不推荐使用 [[UIDevice currentDevice] uniqueIdentifier]

你应该使用这个:

 UIDevice *device = [UIDevice currentDevice]; NSUUID *uniqueIdentifier = [device identifierForVendor]; 

UIDevice类参考