iOS不同IDS說明

2021-09-08 19:28:57 字數 2852 閱讀 4628

1.vendor識別符號

identifierforvendor

乙個英文本串,對於相同的產品商(這裡指com.zhang.*,也就是字首一樣),其唯一的標識裝置。

* 這個值對於相同的產品商在相同的裝置上是相同的。

* 這個值在不同的產品商在相同的裝置上是不同的。

* 在不同的裝置上是不同的(不管產品商是否一致)。

在ios6上,前兩個字串用來(com.zhang.demo中的com.zhang.)生成vendor id,如果bundle id只有乙個組成(demo),那麼就用整個bundle id來生成。

在ios7,除了最後乙個元件,其他的都用來生成vendor id,如果bundle id只有乙個組成(流入demo),那麼就用整個bundle id來生成。

例如:

如果它的值是空的,等待並且稍後重新獲取該值,這種情況是可能發生的,例如使用者重啟了手機,而且在使用者解鎖之前。

當你使用廣告服務的時候,使用advertisingidentifier,而不是使用該屬性。

獲取方式:

nslog(@"

%@",[[[uidevice currentdevice] identifierforvendor] uuidstring]);

2.idfa

advertisingidentifier

乙個英文本串,對於每乙個裝置是唯一的,僅僅用於廣告服務。不像identifierforvendor,如果相同的公司出品的產品的com.shuquwangluo.相同,identifierforvendor是返回所有相同給的值。這個值是可能改變的,例如使用者抹去裝置,因此開發者不能去快取它。

注意:在ios10和以後,當使用者限制廣告蹤跡(

在設定—》隱私—》廣告—》限制廣告蹤跡)advertisingidentifier會返回所有的0。

如果它的值是空的,等待並且稍後重新獲取該值,這種情況是可能發生的,例如使用者重啟了手機,而且在使用者解鎖之前。

測試:當我沒有限制廣告蹤跡之前:539477ae-36ae-4e33-b22b-b9bf30bb2d07

當我限制廣告蹤跡後:00000000-0000-0000-0000-000000000000

獲取方式:

nslog(@"%@",[[[asidentifiermanager sharedmanager] advertisingidentifier] uuidstring]);

3.cfuuid

從ios2.0開始就已經出現了cfuuid,它是corefoundation的一部分,因此屬於c語言風格。cfuuidcreate方法用來建立cfuuidref,並且可以獲取乙個響應的字串。

獲取方式:

cfuuidref cfuuid = cfuuidcreate(kcfallocatordefault);

nsstring *cfuuidstr = (nsstring *)cfbridgingrelease(cfuuidcreatestring(kcfallocatordefault, cfuuid));

nslog(@"%@",cfuuidstr);

這個cfuuid值系統並沒有儲存,每次呼叫cfuuidcreate,系統都會返回乙個新的唯一識別符號。如果你希望儲存這個值,需要用nsuserdefault或者其他儲存方式進行儲存。

例如:2a2f49d3-6473-4558-9035-26e14f53691d

4.nsuuid

建立和返回乙個uuid,該uuid是rfc4122版本的隨機位元組。獲取方式:

[[nsuuiduuid] uuidstring]

和cfuuid一樣,這個值系統也不會儲存,每次呼叫的時候都會獲取乙個新的唯一識別符號。如果要存的話需要自己操作。

5.udid

udid在ios5以及以後就被啟用了。在sdk裡面沒有找到相關的介紹,這裡就不在介紹了。

下面是用console輸出的結果:

2016-09-27

09:32:13.540549 idademo[3837:1410105] 1、vender:2f527f67-6800-48f2-b3cf-42697b6bdb3f

2016-09-27

09:32:13.540596 idademo[3837:1410105] 2、nsuuid:a8c331f4-6add-4025-bf7c-0e83275bc1b1

2016-09-27

09:32:13.540646 idademo[3837:1410105] 3、cfuuid:324ff6c1-8962-492d-8215-7f2763632eda

2016-09-27

09:32:13.541177 idademo[3837:1410105] 4、idfa:539477ae-36ae-4e33-b22b-b9bf30bb2d07

2016-09-27

09:32:13.541203 idademo[3837:1410105] 5

、udid:已經棄用,sdk裡面沒有找到相關介紹

總結

1.uuids(universally unique identifieers)也被叫做guids(globally unique identifiers)或者iids(inte***ce identifiers),它是乙個128為位元組的值。標準的uuids是由ascii代表的,例如:68753a44-4d6f-1226-9c60-0050e4c00067  。

2.以上的各種ids,除了cfuuid不是nsuuid類之外,其他的幾個都是nsuuid型別。

Ids4 的使用說明

ids4 全稱 identityserver4 是專門為 net core 而生產了乙個中介軟體,目前是為了資料安全 做的鑑權中心 第一步 建立乙個空的core api 專案 當然你要健 core mvc 也可以了,但是沒有必要,第二步 引用 identityserver4 當前我引用的是2.2版本...

IOS 事件傳遞說明

ios手勢是ios開發不可或缺的一部分,但對於ios的手勢及事件相應機理大家並不知道,所以今天給大家講一講ios的事件相應機理 首先,ios的事件傳遞是依靠 事件鏈 傳遞的,當傳遞到鏈的某乙個鏈環上的物件處理了這個事件,事件就停止傳遞。那麼事件鏈是神馬東西?事件鏈是由一組uiresponder 能夠...

iOS時間格式說明

在ios時間戳字串nsdate轉換demo中我們講到了 ibaction strtodate id sender 那麼時間格式yyyy mm dd hh mm ss 代表什麼呢?看完以下解說,你會明白的。時間分隔符。在某些區域設定中,可以使用其他字元表示時間分隔符。時間分隔符在格式化時間值時分隔小時...