開發者能拿到的各種識別符號
ios中目前支援的,以及被廢棄的唯一識別符號方法,並對其做出相應的解釋.
cfuuid
cfuuidref cfuuid = cfuuidcreate(kcfallocatordefault);
nsstring *cfuuidstring = (nsstring*)cfbridgingrelease(cfuuidcreatestring(kcfallocatordefault, cfuuid));
nsuuidnsstring *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];
openudidnsstring *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 差的開發者
如果你認為使用 優秀 和 差 來區分開發者不妥的話,也可以將這些看作是初級開發者和資深開發者之間的區別。但無論如何,多看看其他的優秀開發者 或資深開發者 是如何做的,對於自身技能 工作方式的提公升有很大的幫助。優秀的開發者是乙個藝術家,乙個享受創作過程的工匠。差的開發者只將自己當作負責產生 的碼農。...