以编程方式获取iOS7的IMEI

在XCode 4.6,iOS 6.1中,我们使用CoreTelephony获取IMEI,就像在CoreTelephony上获取IMEI一样。 问题,但切换到iOS7和XCode 5后,它不再工作。 我的系统将IMEI视为识别手机的不可破解的方式,并保证它与特定用户相关联,其他安全问题也取决于此标识符。 随着新的iOS代码不起作用,我们还没有find一种方法来获得它。

我的核心问题是:在iOS7 / XCode 5中,我有什么select获得IMEI?

变化是: – 我怎样才能保证手机属于一个特定的人? 身份在我的系统中非常重要,设备的所有权是必不可less的。 – 我们还有什么其他的select来保证系统安全,而不需要重写太多?

除非find私人API解决scheme,否则我们的组织正在将IMEI和电话#作为保护的应用程序设置放入我们的企业应用程序中。

凭借基于iOS7的新型摄像头条形码识别function,IMEI甚至可以在初始配套和部署期间从手机盒扫描,而不是手动input。

我们还考虑跟踪数据库中的identifierForVendor UUID等链接到IMEI /电话#但由于它可以改变,因为我们的历史数据都是基于IMEI的 – 没有任何意义将追踪复杂层添加到一个半无用的标识符不会追溯到通用有意义的跟踪机制,如电话/ IMEI。

当你使用私有API时,你不应该得到IMEI,这是违反苹果规则的。

要获得设备的唯一标识符,您应该使用identifierForVendor方法。 这将始终返回同一个手机上运行的所有应用程序相同的ID。 有关更多详细信息,请参阅apple文档。

使用identifierForVendor获取“一个字母数字string,唯一标识一个设备到应用程序的供应商。(只读)”。

该方法在UIDevice类参考中描述。

我对IMEI号码不太确定。 在iOS7中,苹果改变了他们提供唯一标识符的方式。 他们也停止提供无线网卡的MAC地址。 现在,他们为每个设备和应用程序供应商提供唯一标识符。 请参阅iOS 7发行说明。 您可能需要使用该唯一标识符。

您可以使用每个设备独有的advertisingIdentifier 。 请参阅: Apple文档。

据我所知, advertisingIdentifieridentifierForVendor是唯一可以使用的2个唯一标识符。