安装MDM配置文件后,当设备向服务器注册MDM时,服务器从设备获得以下响应:
认证
{'Topic': 'com.apple.mgmt.External.dadd0670-xxx', 'UDID'
: 'xxxx', 'MessageType': 'Authenticate'}TokenUpdate
{'Topic': 'com.apple.mgmt.External.dadd0670-xxx', 'UDID' : 'xxx', 'Token': xxxx, 'PushMagic': 'xxxx', 'MessageType': 'TokenUpdate'}正如您在响应中看到的那样,要将MDM令牌(我们在TokenUpdate命令中得到)映射到一个设备上,我们只能使用设备的UDID。
因此,在iOS应用程序中,我必须将设备的UDID发送到我们的服务器,以便将该令牌与设备连接起来。我正在使用"[[UIDevice currentDevice] uniqueIdentifier]"来完成这个任务。
但是,现在苹果不接受访问uniqueIdentifier的应用程序。
协议参考
发布于 2013-05-13 08:10:19
从iOS 6.0+开始,苹果提供了您可以使用的新标识符。你的选择是:
[[UIDevice currentDevice] identifierForVendor]]这意味着要向特定的供应商识别设备。因此,对于同一个开发人员的应用程序来说是一样的,但是不同开发人员的应用程序会有所不同。看这里的医生。
或者,您可以使用:
[[ASIdentifierManager sharedManager] advertisingIdentifier]这将返回一个在所有供应商中相同的值。但是,它只用于广告目的(在某些情况下,可以更改.例如,如果设备被擦除)。看这里的医生。
您还可以参考uniqueIdentifier上的文档,这些文档可以找到这里,并有关于上述两个替代选项(以及使用NSUUID类的UUID的另一个选项)的评论。
上述两个选项的主要限制是它们仅适用于iOS 6.0+ .如果必须以iOS 5.0+为目标,则还可以选择创建自己的标识符(例如,基于UIDevice-with-UniqueIdentifier for-iOS-5所做的MAC地址)。
发布于 2013-05-13 08:13:14
MAC地址是唯一的,每个iPhone设备都会有它。使用macaddress创建一个惟一的字符串,就像UDID一样,并使用它。
这是一个做这项工作的指向UIDevice类别的github链接。希望能帮上忙!
阿马尔。
发布于 2013-10-16 04:08:58
MAC地址在iOS7中不可用
它将不断地返回02:00:00:00:00:00
苹果公司声明
2013年8月22日iOS 7中的MAC地址如果应用程序使用MAC地址识别iOS设备,系统将为所有运行iOS 7的设备返回相同的静态值。请更新应用程序以使用UIDevice的identifierForVendor属性。如果需要用于广告目的的标识符,请使用ASIdentifierManager的ASIdentifierManager属性。
https://stackoverflow.com/questions/16517258
复制相似问题