現今來比較下,不一樣狀況下兩種標識符的變化狀況。如下試驗,每種標識符均分爲存於Keychain
和未存於Keychain
的兩種狀況作比較。git
廣告標識符(IDFA-identifierForIdentifier),是AdSupport.framework
裏面的。能夠經過ASIdentifierManager
進行得到。github
// 廣告標識符 NSString *idFA = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
OpenUDID
是開源的。Github地址。經過其中的方法能夠獲取OpenUDID
。ide
// OpenUDID NSString *openUDID = [OpenUDID value];
比較結果以下表。code
狀況 | IDFA (廣告標識符) |
存於Keychain 的IDFA |
OpenUDID |
存於Keychain 的OpenUDID |
---|---|---|---|---|
刪除應用 | 不會改變 | 不會改變,也不會被刪除 | 不會改變 | 不會改變,也不會被刪除 |
手機還原全部設置 | 不會改變 | 不會改變,也不會被刪除 | 不會改變 | 不會改變,也不會被刪除 |
手機抹掉全部數據 | 改變 | 被刪除 | 改變 | 被刪除 |
還原廣告標識符 | 改變 | 原存於Keychain 的數據沒變化,除非從新寫入 |
不會改變 | 不會改變,也不會被刪除 |
同一設備,不一樣開發者的應用 | 不會改變 | 不會改變,也不會被刪除 | 改變 | 若是沒有從新寫入keychain ,則爲NULL |
有空再更新後續內容,先拋個結論開發