2014-03-31 24 views
0

這些天我正在研究一個iPhone應用程序,當有要求識別iPhone設備時,用戶安裝應用程序後,卸載相同的應用程序。 我搜索谷歌和蘋果文檔來解決這個問題,然後遇到蘋果棄用不確定的方法來獲取設備信息,這是唯一的所有iPhone設備。如何在他/她卸載應用程序時識別iPhone設備,然後重新安裝相同的應用程序?

我也遇到了identifierForVendoradvertisingIdentifier。我已經使用了identifierForVendor,但沒有運氣。我也在蘋果文檔中閱讀了有關advertisingIdentifier的內容,但並不理解它。

所以我需要你的技能來解決這個問題

+1

您是否在系統中使用推送通知?也爲什麼你想知道第二次安裝應用程序... –

回答

1

可以使用NSUUID類爲特定設備創建一個唯一的ID。該類的參考可在此處獲得:https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSUUID_Class/Reference/Reference.html#//apple_ref/doc/c_ref/NSUUID

您可以將此ID保存在應用程序的鑰匙串中,因此即使用戶重新安裝應用程序,UUID也會持久。如果這對您更容易,並將其保存在鑰匙串中,您可以直接使用identifierForVendor,但我不確定identifierForVendor是否會在每個會話或安裝中返回新密鑰。

鑰匙串參考可以在這裏找到:https://developer.apple.com/library/mac/documentation/security/conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html

的鑰匙扣服務API相當冗長,所以如果你沒有到那種東西,你可以檢查爲Github上的各種開源實現相同。我個人比較喜歡UICKeychainStore。

0

供應商標識符可以從一個安裝更改爲下一個,並且即使應用程序保持安裝狀態,廣告標識符也可以更改。這些都不符合你的目的。

在大多數情況下,您應該通過讓他們以某種方式註冊您的服務器來識別用戶而不是設備。

+0

MAC地址不建議:https://developer.apple.com/news/?id = 8222013a – Daniel

+0

@丹尼爾優點。 – Caleb

相關問題