以编程方式获取iOS7的IMEI

时间:2013-09-21 00:38:48

标签: ios xcode ios7 xcode5 imei

在XCode 4.6,iOS 6.1中,我们使用CoreTelephony来获取IMEI,与get IMEI on iPhone with CoreTelephony?问题中提到的方法相同,但在切换到iOS7和XCode 5后,它不再起作用了。 我的系统认为IMEI是识别手机的一种牢不可破的方式,并保证它与特定用户相关联,其他安全问题也依赖于此标识符。 使用新的iOS代码不起作用,我们还没有找到获取它的方法。

我的核心问题是:在iOS7 / XCode 5中我有哪些选择来获取IMEI?

变化是:   - 我怎么能保证手机属于特定的人?身份在我的系统中非常重要,设备的所有权是必不可少的。   - 我们还有哪些其他选择来保证系统的安全,而不需要重写太多?

5 个答案:

答案 0 :(得分:2)

当你使用私有API时,你不应该首先获得IMEI,这是违反Apple规则的。

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

答案 1 :(得分:2)

使用identifierForVendor获取一个字母数字字符串,该字符串可以唯一标识应用程序供应商的设备。(只读)“。

该方法在UIDevice Class Reference中描述。

答案 2 :(得分:2)

除非找到私有API解决方案,否则我们的组织正在将IMEI和phone#作为受保护的应用程序设置放入我们的企业应用程序中。

使用基于相机的iOS7条形码识别功能 - 甚至可以在初始配套和部署期间从手机盒扫描IMEI,而不是手动输入。

我们还考虑跟踪链接到IMEI / Phone#的数据库等中的identifierForVendor UUID,但由于它可以更改,并且因为我们的历史数据都是基于IMEI的 - 所以将跟踪复杂性的这一层添加到a半无用的标识符,不会追溯到像Phone / IMEI这样的通用有意义的跟踪机制。

答案 3 :(得分:1)

我不太确定IMEI号码。在iOS7中,Apple改变了他们提供唯一标识符的方式。他们也停止提供wifi卡的MAC地址。现在,他们为每个设备和App Vender提供唯一标识符。请参阅iOS 7发行说明。您可能想要使用该唯一标识符。

答案 4 :(得分:0)

您可以使用每个设备唯一的advertisingIdentifier。 请参阅:Apple documentation.

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