2013-03-19 116 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將有所不同,並且在應用程序重新安裝時也會重置。