蘋果禁用UDID讓開發商焦頭爛額,如何解決后續問題?
蘋果在今年二月就已出臺一份報告,建議開發商停用UDID。其實開發商通過UDID告訴用戶他在某個設備上使用開發商的應用,本身不是件壞事。比如 開發商David Barnard只是利用UDID幫助將App Cubby的應用從一臺設備同步到另一臺設備。若服務器不能分清各個設備,一切就亂了,開發商也就不能為用戶提供同步服務。
另一個例子就是非常受歡迎的Twitter應用Tweetbot,它利用UDID來分清消息應該發送到哪臺設備,哪臺設備已經收到了這條消息,如果 沒有UDID,應用就無法分清。所以,圍繞UDID的問題,不僅僅是廣告網絡及追蹤用戶銷售產品所面臨問題,還有其它種種問題。
開發商要將一個應用在不包含廣告的情況下安裝在某臺獨立設備上是合法的,蘋果也知道自己需要為開發商提供別的選擇,所以推薦使用CFUUID(Core Foundation Universally Unique Identifier)。
但并不是每個應用都能很好利用CFUUID,這不是一個好的備選方案。CFUUID只有在應用向iOS系統發出請求時才會被激活,開發商可以將之自行存在某個地方,但它可能被刪掉而且從此無法找回,而UDID一旦激活,則會永久存在于設備上。
Tweetbot工作室Tapbots的Paul Haddad說:
“CFUUID問題很多,如果你從一臺舊設備中備份文件到新設備中,兩臺設備就擁有相同的CFUUID,如果你從臨時文件中備份操作系統,就會出現一個設備里存在不同CFUUID”。
當然,除了CFUUID,還有其它接解決方案,但也存在局限性。比如,利用Mac地址(也就是一臺設備的網絡硬件ID),但是它就像UDID一樣是永久的,會被網管禁止訪問。
黑客通常會通過Mac地址識別用戶設備所在地,如果蘋果禁用UDID,接下來就可能禁用Mac地址。Haddad說:
“如果你想以一種萬無一失的方法追蹤某臺設備,現在還沒有比UDID更合適的選擇。當人們想徹底清理,儲 存,更新設備時,UDID的缺失會為開發商帶來許多難題。停用UDID不僅僅是對廣告網絡及那些使用UDID追蹤用戶行為而盈利的人造成沖擊,也會對想要 真正為用戶帶來更好體驗的開發商造成影響”。
當然,也有其它解決方案,利用現在的UDID或Mac地址以及app的ID進行加密,作為每個應用,每臺設備的的獨立序列號,但這種方法在多個程序 之間追蹤用戶就行不通,像Openfeint及Appfire就通過在應用生態系統內使用登錄系統作為替代方案,但這種方法不是對每個應用都適用。

【編輯推薦】