如何从应用程序中识别企业(企业)iOS 设备?
Posted
技术标签:
【中文标题】如何从应用程序中识别企业(企业)iOS 设备?【英文标题】:How to identify an Enterprise (corporate) iOS device from an app? 【发布时间】:2013-03-19 13:35:14 【问题描述】:我正在开发一些应用程序,以便通过企业计划在公司 iPad 上分发(因此我/公司可以完全控制它们)。在公司拥有的设备的上下文中,如果有一种方法来识别运行应用程序的设备,那么“正确”是什么?
此处推荐的 CFUUIDCreate UIDevice uniqueIdentifier Deprecated - What To Do Now? 不起作用,因为多个应用程序的 id 必须相同。
现在How can I programmatically get the MAC address of an iphone 看起来是最好的方法,但我对 Apple 的东西很陌生,想知道是否有更好的方法。
iPad 是用于仓库使用的,识别设备是为了识别 iPad 分配到哪个仓库。
【问题讨论】:
【参考方案1】:我们在我们的项目中使用 OpenUDID 作为持久性跨应用标识符作为已弃用 UDID 的直接替代品。
用法:
#include "OpenUDID.h"
NSString* openUDID = [OpenUDID value];
【讨论】:
看起来好得令人难以置信:D 我会试试看它是如何工作的。【参考方案2】:我也运行一个企业程序,你是对的,Apple 提供的新 UUID 部分没有用。它们不仅在应用之间不一样,而且如果用户删除并重新下载您的企业应用,它们也不相同。
由于您不是通过 App Store 分发的,因此您不会因为使用 [UIDevice uniqueIdentifier] 而被关闭,并且它今天仍然可以在 ios 中使用。我亲自发送了那个和 MAC 地址,并祈祷这将在未来的版本中继续工作。 Apple 将来可能会开始为 UUID 返回 @"" 或其他一些空字符串,因此请做好准备。
【讨论】:
很高兴知道如果您不需要提交到应用商店,[UIDevice uniqueIdentifier] 仍然有效。我将按照其他答案中的建议尝试使用 OpenUDID 作为备份:) 供应商 id 将在应用程序中相同,但在设备中不同。 在最新的iOS7 SDK中,mac地址将无法使用。当您调用系统时,它们将在所有设备上返回相同的地址(02:00:00:00:00:00)
。【参考方案3】:
在 iOS7(测试版)中,UIDevice uniqueIdentifier 现在的行为类似于 identifierForVendor。即每个应用程序的 ID 会有所不同,并且在重新安装应用程序时也会重置。
【讨论】:
以上是关于如何从应用程序中识别企业(企业)iOS 设备?的主要内容,如果未能解决你的问题,请参考以下文章
如何在设备上安装配置证书以使用企业 iOS 帐户进行 OTA(无线)应用程序分发