2013-03-19 117 views
4

我正在研究一些通过企业程序分发到公司iPad上的应用程序(所以我/公司已完全控制它们)。在企业拥有的设备环境中,如果有一种“正确的”方法来识别运行应用程序的设备,那么该方法是什么?如何从应用中识别企业(企业)iOS设备?

CFUUID创建此处推荐的UIDevice uniqueIdentifier Deprecated - What To Do Now?将不起作用,因为id在多个应用中必须相同。

现在How can I programmatically get the MAC address of an iphone看起来是最好的方式,但我对苹果的东西很陌生,想知道是否有更好的方法。

iPad用于仓库使用,并且id'ing该设备是为了确定iPad分配给哪个仓库。

回答

1

我们在我们的项目中使用OpenUDID作为持久性跨应用程序标识符作为废弃UDID的替代替代品。

用法:

#include "OpenUDID.h" 
NSString* openUDID = [OpenUDID value]; 
+0

看起来好得难以置信:D我会试试看看它是如何工作的。 – Turch 2013-03-19 14:38:21

1

我运行一个企业程序以及你是对的,苹果提供的新UUID件没有用。它们不仅在应用程序中不一样,而且在用户删除并重新下载企业应用程序时也不相同。

由于您没有通过App Store进行分发,因此您不会因使用[UIDevice uniqueIdentifier]而关闭它,它现在仍然可以在iOS中使用。我亲自发送这个MAC地址,并且交叉我的手指,这将继续在未来的版本中工作。 Apple可能会在将来为UUID开始返回@“”或其他一些空字符串,以便做好准备。

+0

如果您不需要提交到应用程序商店,[UIDevice uniqueIdentifier]仍然有效。我会按照其他答案中的建议尝试OpenUDID,并将其作为备份:) – Turch 2013-03-19 14:39:26

+0

供应商ID在所有应用中都是相同的,但不是设备。 – 2013-04-30 15:30:57

+0

在最新的** iOS7 ** SDK中,mac地址不起作用。当你呼叫系统时,他们将在所有设备上返回相同的地址'(02:00:00:00:00:00)'。 – user2361406 2013-06-18 02:37:45

0

随着iOS7(测试版)的UIDevice唯一标识符现在表现得像identifierForVendor。即每个应用程序的ID将有所不同,并且在应用程序重新安装时也会重置。