本節書摘來自異步社群《ios 6進階開發手冊(第4版)》一書中的第1章,第1.14節跟蹤使用者,作者 【美】erica sadun,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
1.14 跟蹤使用者
ios 6進階開發手冊(第4版)
跟蹤是開發者的一種不幸的現實生活。apple不贊成使用uidevice屬性,該屬性提供了綁定到裝置硬體的唯一辨別符。apple利用兩個辨別符屬性取代uidevice屬性。它使用identifierforadvertising屬性傳回目前裝置所獨有的一個特定于裝置的字元串,并使用identifierforvendor屬性提供一個綁定到每位應用程式供應商的字元串。無論使用的是哪個應用程式,這都應該會傳回相同的唯一字元串,它不是顧客id。不同裝置上的相同應用程式可以傳回不同的字元串,就像應用程式可以來自不同的供應商一樣。
這些辨別符是使用新的nsuuid類建構的。可以在跟蹤場景之外使用這個類,建立保證全球唯一的uuid字元串。apple寫道:“uuid(universally unique identifier,通用唯一辨別符),也稱為guid(globally unique identifier,全局唯一辨別符)或iid(interface identifier,接口辨別符),是128位的值。uuid在空間和時間上都是唯一的,這是由于它結合了兩個值,第一個值是生成它的計算機上所特有的,第二個值代表從1582年10月15日00:00:00起所經過的100納秒數。”
uuid類方法可以根據需要生成一個新的rfc 4122v4 uuid。使用[nsuuid uuid]傳回一個新執行個體(附帶的好處是:它全都是大寫的)。從此,可以擷取uuidstring表示,或者通過getuuidbytes:直接請求位元組。