開發者能拿到的各種識別符號

2021-08-21 18:16:12 字數 2017 閱讀 4962

開發者能拿到的各種識別符號

ios中目前支援的,以及被廢棄的唯一識別符號方法,並對其做出相應的解釋.

cfuuid

cfuuidref cfuuid = cfuuidcreate(kcfallocatordefault);

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

nsuuid
nsstring *uuid =[[nsuuid uuid] uuidstring];
廣告標示符(idfa-identifierforidentifier)
nsstring *adid =[[[asidentifiermanager sharedmanager] advertisingidentifier] uuidstring];

針對廣告標示符使用者有乙個可控的開關「限制廣告跟蹤」.將這個開關開啟,實際上什麼也沒有做,不過這是希望限制你訪問廣告標示符.這個開關是乙個簡單的boolean標誌,當將廣告標示符發到任意的伺服器端時,你最好判斷一下這個值,然後再做決定.

vindor標示符 (idfv-identifierforvendor)

ios 6中新增,獲取這個idfv的新方法被新增在已有的uidevice類中.跟advertisingidentifier一樣,該方法返回的是乙個nsuuid物件.

獲取方法:

nsstring *idfv =[[[uidevice currentdevice] identifierforvendor] uuidstring];

如果滿足這樣的條件,那麼獲取到的這個屬性值就不會變:相同的乙個程式裡面-相同的vindor-相同的裝置.如果是這樣的情況,那麼這個值是不會相同的:相同的程式-相同的裝置-不同的vindor,或者是相同的程式-不同的裝置-無論是否相同的vindor.

在這裡,還需要注意的一點就是:如果使用者解除安裝了同乙個vendor對應的所有程式,然後在重新安裝同乙個vendor提供的程式,此時identifierforvendor會被重置.

udid

ios5起被廢棄.udid在部署企業級簽名程式時可以使用.

獲取方法:

nsstring *udid =[[uidevice currentdevice] uniqueidentifier];
openudid
nsstring *openudid =[openudid value];
mac位址
- (nsstring *)macaddress  

if (sysctl(mib, 6, null, &len, null, 0) < 0)

if ((buf = malloc(len)) == null)

if (sysctl(mib, 6, buf, &len, null, 0) < 0)

ifm = (struct if_msghdr *)buf;

sdl = (struct sockaddr_dl *)(ifm + 1);

ptr = (unsigned

char *)lladdr(sdl);

nsstring *outstring = [nsstring stringwithformat:@"%02x:%02x:%02x:%02x:%02x:%02x", *ptr, *(ptr+1), *(ptr+2), *(ptr+3), *(ptr+4), *(ptr+5)];

nslog(@"outstring:%@", outstring);

free(buf);

return [outstring uppercasestring];

}

ios7以後 建議使用標示符

idfa: 適用於對外:例如廣告推廣,換量等跨應用的使用者追蹤等

idfv: 適用於對內:例如分析使用者在應用內的行為等

沒有Google,開發者能活多久?

你的老闆有多少次對你喊道 我們能不能做xx 儘管你對此毫無頭緒,但你會說,完全沒問題,瞧好吧 實際上你心裡也許在想 我根本不知道怎麼辦 回到你的座位後,你做的一遞減事情就是goole這件這件事情。我們之所以這麼做是因為開發者正成為 internet google的聚合只能 collective in...

優秀的開發者 vs 糟糕的開發者

優秀的開發者是乙個藝術家,乙個享受創作過程的工匠。糟糕的開發者只將自己當作負責產生 的碼農。優秀的開發者了解客戶的問題。糟糕的開發者只了解手頭的技術問題。優秀的開發者會不斷努力去理解 為什麼 然後去實現,同時能夠把握大局。糟糕的開發者專注於構建類 方法和配置檔案,而不理會大局。糟糕優秀的開發者了解產...

優秀的開發者 vs 差的開發者

如果你認為使用 優秀 和 差 來區分開發者不妥的話,也可以將這些看作是初級開發者和資深開發者之間的區別。但無論如何,多看看其他的優秀開發者 或資深開發者 是如何做的,對於自身技能 工作方式的提公升有很大的幫助。優秀的開發者是乙個藝術家,乙個享受創作過程的工匠。差的開發者只將自己當作負責產生 的碼農。...