4

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

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

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

4

5 回答 5

2

您不应该首先获得 IMEI,因为您使用的是私有 API,这违反了 Apple 规则。

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

于 2013-09-21T01:27:07.490 回答
2

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

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

于 2013-09-24T09:17:03.130 回答
2

除非找到私有 API 解决方案 - 我们的组织正在向前推进,将 IMEI 和电话号码作为受保护的应用程序设置放入我们的企业应用程序中。

借助 iOS7 新的基于摄像头的条码识别功能 - IMEI 甚至可以在初始配置和部署期间从电话盒中扫描,而不是手动输入。

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

于 2013-10-02T07:07:38.883 回答
1

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

于 2013-09-21T00:57:14.543 回答
0

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

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

于 2015-08-14T00:45:33.483 回答