如何从应用中识别企业(公司)iOS设备?

4
我正在开发一些应用程序,以通过企业计划分发到公司的iPad上(因此我/公司完全控制它们)。在公司拥有的设备上,识别应用程序运行的设备的“正确”方式是什么(如果有的话)?
根据UIDevice uniqueIdentifier Deprecated - What To Do Now?建议,CFUUIDCreate将无法使用,因为ID必须在几个应用程序之间相同。
目前How can I programmatically get the MAC address of an iphone看起来是最好的方法,但我对苹果的东西非常陌生,想知道是否有更好的方法。
这些iPad用于仓库使用,识别设备是为了识别分配给哪个仓库的iPad。
3个回答

1
我们在项目中使用OpenUDID作为已弃用的UDID的替代品,以实现持久性跨应用程序标识符。 用法:
#include "OpenUDID.h"
NSString* openUDID = [OpenUDID value];

看起来几乎太好以至于难以置信 :D 我会试一试看它是如何工作的。 - Turch

1
我也运行一个企业程序,你说得对,苹果提供的新UUID部分并不有用。它们不仅在应用程序之间不同,而且如果用户删除并重新下载您的企业应用程序,则它们也不同。
由于您没有通过App Store进行分发,因此不会因使用[UIDevice uniqueIdentifier]而被关闭,并且它在iOS中仍然可用。我个人发送该标识符和MAC地址,并祈祷这将在未来版本中继续工作。苹果可能会在将来返回@""或其他空字符串作为UUID,所以要做好准备。

很高兴知道如果您不需要提交到应用商店,[UIDevice uniqueIdentifier]仍然有效。我会尝试其他答案中建议的OpenUDID,并将此作为备份 :) - Turch
供应商 ID 在应用程序之间将保持不变,但在设备之间可能会有所不同。 - Nick Turner
在最新的 iOS7 SDK 中,MAC地址不会起作用。当您调用系统时,它们将在所有设备上返回相同的地址 (02:00:00:00:00:00) - user2361406

0

iOS7(beta)中,UIDevice的uniqueIdentifier现在的行为类似于identifierForVendor。即,该ID将因每个应用而异,并且在重新安装应用程序时将被重置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接