2012-07-02 25 views
6

感謝您花時間和興趣閱讀本文,並希望幫助我。跨設備IOS獨特的用戶標識符

我需要IOS的唯一用戶標識,以及我的意思與唯一用戶標識符是一個唯一的字符串,蘋果提供的是用戶而不是設備唯一的,這意味着它會保持不變跨設備。我想過Apple ID或類似的東西,但這是不可能的,因爲Apple不提供它(至少不是我所知道的),但我想要類似的東西。

它不可能是UDID,因爲(除了被棄用)it's跨設備不是永久性的。我希望這樣做是爲了驗證用戶,而不需要用戶登錄或註冊。這是可能的,因爲一些應用程序這樣做。我沒有登錄或與其他設備有任何關係,但它證實了我的身份。我原以爲是用Apple ID,但那是不可能的。

我檢查這個答案:iOS unique user identifier。它似乎可能是解決方案,但我不太明白,因爲我沒有看到它對於每個新用戶都是獨一無二的(能夠區分多個用戶和同一個用戶,而是在不同的設備)。

我真的很感謝大家閱讀本文並試圖提供幫助。 謝謝

PD:我用Titanium's Appcelerator的,不Apple's IOS SDK或類似的東西。但it's並不重要,我只是想獲得進程能夠與鈦的Appcelerator的做

PS:注意:

謝謝你回答這麼快!我已經讀過很多次了,但我不明白。你們能幫我理解一點嗎?

我理解它的方式是這樣的。

1.創建一個UUID(隨每次安裝而變化) 2.將它存儲到鑰匙串(據我所知,保存在鑰匙串上的值是設備本地的)使用默認服務(I認爲我把它與應用程序的id-com.bla.bla-),也是一個默認帳戶,我認爲我把它留作「用戶」。

這將全部都是本地的,所以每一次安裝都會這樣做,每次安裝都有一個不同的UUID(每個用戶都不需要) 3.將UUID保存到NSUserDefaults。 4.將UUID保存到雲的公共數據存儲區(雲數據存儲區中的UUID,Keychain和NSUserDefaults應該相同)

因此,如果運行5個安裝,則Cloud's Public數據存儲應該是這樣的

An Array of 5 values: 
[ 
XXXX-EEEEE-FFFFF, 
SFSDFFWE-WERW-SDFS, 
XXXX-XXXXX-XXXXX, 
ZZZZZ-ZZZZ-ZZZZX, 
XZXZZX-ZXZXZXS-ADADS 
] 

5 - 所有這一切都將在每次運行應用程序時執行,首先檢查是否有存儲在公共雲存儲值。在這裏我很困惑,不同的設備如何知道你的UUID?我的意思是,有5種不同的UUIDS可供選擇。也許它不應該保存在公共數據存儲區中,而是保存在私有數據存儲區中,但爲此您還需要識別每個用戶。這是我非常困惑的地方。

如果沒有UUID集,執行最後的4個步驟。

所以,我感到困惑,在第5步,大多數人都明白,解決方案,沒有任何更多的解釋,所以我必須在什麼工作,也許是雲服務的方式是無知?我認爲問題在於,也許我不瞭解iCloud的工作方式,以及它如何存儲它的價值。我只是不明白X運行應用程序的第5個(隨機數,它可能是第2個或第2000個)設備將知道UUID XXX ...是用戶X的UUID,而不是用戶的UUID Z.

再次謝謝你回答得這麼快,我想也許我將不得不等待幾天,不是一兩分鐘。原諒我的無知,在這件事上我是一個小白菜,但我想學習。被困在這個問題上幾天

回答

2

你提到的答案是識別你的用戶的正確方法。解決方法是保存稱爲UUID(唯一用戶ID)的標識的值 - 而不是UDID(唯一設備ID)。

唯一的缺點,以本課程爲你作爲一個開發人員,用戶可以刪除並重新安裝應用程序,並有不同的ID。

+0

請看我的筆記^。順便說一句,謝謝你的回答! :) – Sismetic

2

正如丹尼爾所說,UUID是識別用戶的正確方法。我只想補充一點,你說

我不明白怎麼會是獨一無二的每一個新用戶

好,accordint這個維基百科文章:

隨機生成的UUID有122隨機位.. 。僅在接下來的100年內每秒產生10億個UUID後,創建一個副本的可能性大約爲50%。如果地球上的每個人擁有6億個UUID,則一個重複的概率約爲50%。

因此,您可以確信UUID對每個用戶都是唯一的。

此外,MAC地址基於您的以太網卡,時間戳,以及一些其他雜項信息的MAC地址的。這增加了UUID的唯一性,根據this關於超級用戶的問題:

[MAC地址]是相當獨特的。

  • 第一3個字節定義的製造商。
  • 最後3個八位字節通常在PROM刻錄時生成。這取決於製造商如何做到這一點。

這顯然給了每個廠商16,777,215可能唯一的MAC地址。這是相當多的,所以製造商不應該重複使用一個。

所以基本上,UUID爲MAC地址添加了一個額外的唯一性。

總而言之,爲了您的意圖和目的,UUID將是完美的。

希望這會有所幫助!

+0

請看我的筆記^。順便說一句,謝謝你的回答! :) – Sismetic

+0

@Sismetic - 沒問題。我們都是這樣開始的。 – pasawaya

+0

謝謝你的理解:)我愛SO:P。你能幫我理解這個過程嗎? – Sismetic