在XCode 4.6,iOS 6.1中,我们使用CoreTelephony来获取IMEI,与get IMEI on iPhone with CoreTelephony?问题中提到的方法相同,但在切换到iOS7和XCode 5后,它不再起作用了。 我的系统认为IMEI是识别手机的一种牢不可破的方式,并保证它与特定用户相关联,其他安全问题也依赖于此标识符。 使用新的iOS代码不起作用,我们还没有找到获取它的方法。
我的核心问题是:在iOS7 / XCode 5中我有哪些选择来获取IMEI?
变化是: - 我怎么能保证手机属于特定的人?身份在我的系统中非常重要,设备的所有权是必不可少的。 - 我们还有哪些其他选择来保证系统的安全,而不需要重写太多?
答案 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.
据我所知,advertisingIdentifier
和identifierForVendor
是您可以使用的唯一2个唯一标识符。