2012-11-14 36 views
0

我有一個iPhone應用程序需要向mySQL服務器發送數據(它是一個投票)。但是,用戶只能每天投票一次,而且每個用戶只能投一次。我通過向PHP腳本發送HTTP請求來連接到mySQL服務器。iPhone:從iPhone發送數據到具有唯一標識符的mySQL

我需要的是某種iPhone用戶正在使用的唯一標識符。我認爲如果用戶使用兩個iPhone投票兩次,那麼這並不是一個大問題:標識符的用途是識別每個iPhone。

我怎樣才能得到這個?我會使用[[UIDevice currentDevice] uniqueIdentifier],但我已經閱讀它現在已被棄用。我已閱讀了一個開源庫,但它似乎有隱私泄漏。

你們可以想辦法做到這一點,無論是通過XCode或通過PHP?我只是將hasVoted BOOL保留在應用程序中,但用戶可以將其卸載並重置...

回答

2

您可以使用CFUUIDCreate來創建隨機唯一的ID。然後保存該ID。請勿使用NSUserDefaults,因爲如果用戶重新安裝應用程序,它將被刪除。我會將它保存在鑰匙串中。除非iPhone被擦除,否則不會被刪除,並且用戶無法修改鑰匙串。

+0

謝謝。我不知道「鑰匙鏈」是什麼。你能快點向我解釋一下嗎? – Konrad

+0

鑰匙串是設備的加密部分,您可以自由保存密碼,而不用擔心用戶可以讀取它們。用戶無法與鑰匙串接口,即使應用程序被刪除,其內容仍會保留,因此這將是保存唯一ID的好地方。 –

+0

我發現這個小的「指南」添加項目到鑰匙串。 http://useyourloaf.com/blog/2010/03/29/simple-iphone-keychain-access.html 它說它不會與模擬器一起工作。你能證實這一點嗎? – Konrad