我需要以编程方式获取iPhone的唯一编号。我知道苹果会拒绝应用程序,如果我试图获得iPhone序列号。获取iPhone的唯一编号
但是可能有一种方法可以获得任意数量的iPhone,因此服务器可以区分一个设备。
我需要以编程方式获取iPhone的唯一编号。我知道苹果会拒绝应用程序,如果我试图获得iPhone序列号。获取iPhone的唯一编号
但是可能有一种方法可以获得任意数量的iPhone,因此服务器可以区分一个设备。
对于每个iPhone,MAC地址是唯一的(iOS模拟器除外)。您可以获取信息以识别设备。这question将引导你获得MAC地址。但是,iOS7 disallows use of MAC address。因此,对于iOS 6或之前版本,您可以使用MAC地址;对于即将到来的iOS 7,您可以使用以下方法。
自iOS 6以来,Apple建议使用广告标识,可在ASIdentifierManager类中找到。示例代码:
NSUUID *uuid = [ASIdentifierManager advertisingIdentifier];
你看过identifierForVendor
?
苹果描述为:
唯一标识设备到应用的 供应商的字母数字字符串。
请注意,如果用户移除同一供应商的所有应用程序,则可以更改此号码。同样,不同厂商的所有应用程序都不会有相同的标识符。 – rckoenes
这个数字在iOS7中可以吗? –
我无法找到Apple的源代码 - 但我发现有几个网站引用了iOS7的“新增功能”文档,内容如下:“现在用于返回MAC地址的两个低级网络API返回固定值为02:00:00:00:00:00所讨论的API是sysctl(NET_RT_IFLIST)和ioctl(SIOCGIFCONF),使用MAC地址值的开发人员应该迁移到诸如 - [UIDevice identifierForVendor]之类的标识符。影响iOS 7上运行的所有应用程序。“ – James
你应该试试这个让你的iPhone的UID:
NSString *udid = [[UIDevice currentDevice] uniqueIdentifier];
什么样的唯一的号码?一个可以识别每个设备的号码?使用MAC地址。 – Raptor
在这里看到这个问题的替代: http://stackoverflow.com/questions/15939819/udid-replacement – dna2
你应该永远不会[识别设备](http://triplesoftware.nl/2012/03/uniqueidentifier - 不赞成是一件好事/),但你应该确定用户。另外从iOS 7开始,您根本无法识别设备。 – rckoenes