iOS MDM的唯一标识符

adi*_*man 10 udid mdm ios

由于Apple正在弃用应用程序的唯一设备标识符,因此在已注册MDM的设备上链接企业应用程序的最佳方法是什么?

从MDM协议参考文档,注册仍然使用UDID进行签入过程.

我们不能使用新的identifierForVendor,因为它与签入的UDID不同.

让我更新我如何实现我的MDM解决方案,

  1. 设备将使用令牌和设备UDID(Apple正在删除API的那个)签入MDM服务器
  2. 设备将设备信息发送到MDM服务器(Wifi MAC地址,序列号,操作系统版本和其他信息)
  3. 将有一个客户端应用程序将通过RESTful API与MDM服务器通信.(以前我使用UDID作为密钥标识符)

我正在考虑使用MAC地址,但在最新的iOS 7中,系统将始终返回值02:00:00:00:00:00.

我们也无法获取设备序列号.

那么我的问题是,我们怎么知道这个设备上的这个应用程序属于服务器上的这个MDM注册(3).因为现在,应用程序没有任何公共密钥可以与签入过程一起引用.服务器如何知道哪个设备是哪个?

谢谢.

lid*_*ker 5

最好的方式,也许是唯一的方法,是在iOS 7中使用新的托管应用程序配置功能.您可以让MDM向应用程序推送类似API密钥的内容.然后,您的应用程序会在您的回调中将该密钥提供给您的MDM服务器或任何其他Web服务.

将配置下载到应用程序后,您可以使用以下内容提取API密钥.大多数主流MDM解决方案已在其最新版本中支持此类功能.

NSDictionary *config = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"com.apple.configuration.managed"];
NSString *apiKey = config[@"kAPIKey"];

if (apiKey) {
    //We got an API key and we can use it
} else {
    //We didn't get an API key...something has gone wrong
}
Run Code Online (Sandbox Code Playgroud)