第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

iOS唯一用戶標(biāo)識(shí)符

iOS唯一用戶標(biāo)識(shí)符

慕仙森 2019-08-29 16:40:42
iOS唯一用戶標(biāo)識(shí)符我正在寫一個(gè)iphone應(yīng)用程序,它使用REST與我的服務(wù)器通信。主要問題是,我需要以某種方式識(shí)別用戶。不久前,我們被允許使用UDID,但現(xiàn)在不再允許了。那我應(yīng)該用什么呢?我需要在iphone上使用某種標(biāo)識(shí)符,因此用戶將刪除應(yīng)用程序,再次安裝它,并且他將獲得相同的ID。
查看完整描述

3 回答

?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

首先,UDID 在iOS 5中被棄用。這并不意味著它已經(jīng)消失了。

其次,你應(yīng)該問自己是否真的需要這樣的東西。如果用戶獲得新設(shè)備并在其上安裝您的應(yīng)用程序該怎么辦?相同的用戶,但UDID已更改。同時(shí),原始用戶可能已經(jīng)售出了他的舊設(shè)備,所以現(xiàn)在一個(gè)全新的用戶安裝你的應(yīng)用程序,你認(rèn)為它是基于UDID的不同的人。

如果您不需要UDID,請(qǐng)使用CFUUIDCreate()創(chuàng)建唯一ID并在首次啟動(dòng)時(shí)CFUUIDCreateString()將其保護(hù)為用戶默認(rèn)值(用于首先將UUID轉(zhuǎn)換為字符串)。它將在備份和恢復(fù)后繼續(xù)存在,甚至在原始用戶切換到新設(shè)備時(shí)也會(huì)出現(xiàn)。它在很多方面都是UDID的更好選擇。

如果你真的需要一個(gè)唯一的設(shè)備標(biāo)識(shí)符(聽起來不像你那樣),請(qǐng)按照Suhail的回答中的指示尋找MAC地址。


查看完整回答
反對(duì) 回復(fù) 2019-08-29
?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊

我正在更新我的應(yīng)用程序,該應(yīng)用程序僅基于支持iOS 4.3及更高版本的 Unique Identifier工作。所以,

1)我無法使用,[UIDevice currentDevice].uniqueIdentifier;因?yàn)樗巡辉倏捎?/p>

2)我無法使用,[UIDevice currentDevice].identifierForVendor.UUIDString因?yàn)樗鼉H在iOS 6.0及更高版本中可用,并且無法用于較低的iOS版本。

3)mac地址不是一個(gè)選項(xiàng),因?yàn)樗趇OS-7中是不允許的

4)OpenUDID不久前已被棄用,并且還存在iOS-6問題。

5)iOS-5及以下版本也沒有廣告標(biāo)識(shí)符

最后這就是我所做的

a)將SFHFKeychainUtils添加到項(xiàng)目中

b)生成的CFUUID密鑰字符串

 CFUUIDRef cfuuid = CFUUIDCreate(kCFAllocatorDefault);
    udidString = (NSString*)CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, cfuuid));

c)將其保存到Key Chain Utils ,否則它將生成一個(gè)新的Unique Every Time

最終守則

+ (NSString *)GetDeviceID {
    NSString *udidString;
   udidString = [self objectForKey:@"deviceID"];
    if(!udidString)
    {
    CFUUIDRef cfuuid = CFUUIDCreate(kCFAllocatorDefault);
    udidString = (NSString*)CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, cfuuid));
    CFRelease(cfuuid);
        [self setObject:udidString forKey:@"deviceID"];
    }
    return udidString;}+(void) setObject:(NSString*) object forKey:(NSString*) key{
    NSString *objectString = object;
    NSError *error = nil;
    [SFHFKeychainUtils storeUsername:key
                         andPassword:objectString
                      forServiceName:@"LIB"
                      updateExisting:YES
                               error:&error];

    if(error)
        NSLog(@"%@", [error localizedDescription]);}+(NSString*) objectForKey:(NSString*) key{
    NSError *error = nil;
    NSString *object = [SFHFKeychainUtils getPasswordForUsername:key
                                                  andServiceName:@"LIB"
                                                           error:&error];
    if(error)
        NSLog(@"%@", [error localizedDescription]);

    return object;}

詳情請(qǐng)聯(lián)系我們


查看完整回答
反對(duì) 回復(fù) 2019-08-29
  • 3 回答
  • 0 關(guān)注
  • 668 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)