iOS14適配方案

1. 隱私適配

iOS14最重要的更新之一:用戶隱私和安全。

(1) 廣告標(biāo)識符IDFA

廣告標(biāo)識符IDFA全稱Identity for Advertisers臂拓,用來標(biāo)記用戶以便于投放廣告拙毫、個性化推薦等。

更新前后區(qū)別如下:

IDFA權(quán)限提示:iOS13左、iOS14右
1> iOS13系統(tǒng)IDFA

iOS13及以前泌枪,系統(tǒng)會默認(rèn)為用戶 開啟 廣告追蹤權(quán)限。

通過以下代碼即可獲得IDFA標(biāo)識符:

// TODO: -----------------  ViewController類  -----------------
#import <AdSupport/AdSupport.h>

- (void)obtainIDFA {
    // 使用原方式訪問 IDFA
    if ([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) {
        NSString *idfaStr = [[ASIdentifierManager sharedManager] advertisingIdentifier].UUIDString;
        NSLog(@"idfaStr - %@", idfaStr);
    }
}
2> iOS14系統(tǒng)IDFA

iOS14中秕岛,系統(tǒng)會默認(rèn)為用戶 關(guān)閉 廣告追蹤權(quán)限碌燕。

且以上判斷用戶是否允許被追蹤的方法被廢棄:

ASIdentifierManager
3> iOS14系統(tǒng)IDFA配置
  • 首先在 info.plist 中配置權(quán)限:
    keyNSUserTrackingUsageDescription
    value獲取設(shè)備信息用以精準(zhǔn)推送您喜歡的內(nèi)容

  • 然后通過以下代碼獲得IDFA標(biāo)識符:

// TODO: -----------------  ViewController類  -----------------
#import <AdSupport/AdSupport.h>
#import <AppTrackingTransparency/AppTrackingTransparency.h>

- (void)obtainIDFA {
    // iOS14方式訪問 IDFA
    if (@available(iOS 14, *)) {
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
            if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
                NSString *idfaStr = [[ASIdentifierManager sharedManager] advertisingIdentifier].UUIDString;
                NSLog(@"idfaStr - %@", idfaStr);
            }
        }];
    } else {
        // 使用原方式訪問 IDFA
        if ([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) {
            NSString *idfaStr = [[ASIdentifierManager sharedManager] advertisingIdentifier].UUIDString;
            NSLog(@"idfaStr - %@", idfaStr);
        }
    }
}
  • 最后啟動應(yīng)用彈出申請,經(jīng)過用戶同意授權(quán)之后继薛,才能最終獲取正確的IDFA信息修壕。

(2) 相冊

更新前后區(qū)別如下:

相冊權(quán)限提示:iOS13左、iOS14右
1> iOS13系統(tǒng)相冊

iOS13及以前遏考,App請求用戶相冊授權(quán):用戶同意App獲取相冊信息慈鸠,當(dāng)前App就可以獲取到用戶的整個照片庫信息。

2> iOS14系統(tǒng)相冊

iOS14新增了Limited Photo Library Access 模式灌具,在授權(quán)彈窗中增加了 選擇照片 選項青团。用戶可以選擇開放照片庫或者特定的相冊給App,保證用戶隱私咖楣。


(3) 定位

更新前后區(qū)別如下:

定位權(quán)限提示:iOS13左督笆、iOS14右
1> iOS13系統(tǒng)定位

iOS13及以前,App請求用戶定位授權(quán):用戶同意App獲取定位信息诱贿,當(dāng)前App就可以獲取到用戶的精確定位娃肿。

2> iOS14系統(tǒng)定位

iOS14新增了精確定位模糊定位的概念,默認(rèn)精確定位瘪松,用戶可以手動關(guān)閉精確定位以開啟模糊定位咸作,可以選擇允許一次使用App時允許

CLAccuracyAuthorization
請求精確定位方法
3> iOS14系統(tǒng)定位配置

倘若App需要精確定位:

  • 首先在 info.plist 中配置權(quán)限:
    NSLocationTemporaryUsageDescriptionDictionary
    keypreciseKey
    value申請定位用于給您做精準(zhǔn)推薦

  • 然后通過以下代碼單獨請求一次精確定位:

// TODO: -----------------  ViewController類  -----------------
#import <CoreLocation/CoreLocation.h>

- (void)obtainLocation {
    // iOS14方式請求 精確定位
    if (@available(iOS 14.0, *)) {
        CLLocationManager *locationManager = [[CLLocationManager alloc] init];
        [locationManager requestTemporaryFullAccuracyAuthorizationWithPurposeKey:@"preciseKey" completion:^(NSError * _Nullable error) {

        }];
    } else {
        // Fallback on earlier versions
    }
}
  • 最后啟動應(yīng)用彈出申請宵睦,經(jīng)過用戶同意授權(quán)之后记罚,才能最終獲取正確的精確定位。

(4) 麥克風(fēng)和相機(jī)

iOS14中App在使用麥克風(fēng)或相機(jī)時右上角會有提示:黃點(麥克風(fēng))壳嚎、綠點(相機(jī))桐智,無法隱藏。

iOS14麥克風(fēng)和相機(jī)亮點提示

(5) 剪切板

iOS14中App在讀取剪切板內(nèi)容時烟馅,會有toast提示说庭,從頂部彈出。例如:手機(jī)淘寶 - 粘貼自:微信

iOS14剪切板提示

2. 控件適配

(1) UITableViewCell

contentView

iOS14推薦使用[cell.contentView addSubview:];方式添加控件郑趁。

因為UITableViewCell中使用 [cell addSubview:]方式添加的控件刊驴,會顯示在contentView的下層,控件會被contentView遮擋并無法響應(yīng)交互事件。


(2) UIDatePicker

更新前后區(qū)別如下:

UIDatePicker樣式:iOS13左捆憎、iOS14中和右
1> iOS13系統(tǒng)UIDatePicker樣式

iOS13及以前舅柜,UIDatePicker樣式只有輪播樣式。

2> iOS14系統(tǒng)UIDatePicker樣式

iOS14中UIDatePicker樣式有四種躲惰,可根據(jù)需求設(shè)置致份,默認(rèn)是UIDatePickerStyleAutomatic,會自動選擇當(dāng)前平臺和模式可用的最佳樣式础拨。

UIDatePickerStyle

需要使用輪播樣式氮块,設(shè)置為UIDatePickerStyleWheels即可:

self.datePicker.preferredDatePickerStyle = UIDatePickerStyleWheels;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市诡宗,隨后出現(xiàn)的幾起案子滔蝉,更是在濱河造成了極大的恐慌,老刑警劉巖僚焦,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锰提,死亡現(xiàn)場離奇詭異,居然都是意外死亡芳悲,警方通過查閱死者的電腦和手機(jī)立肘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來名扛,“玉大人谅年,你說我怎么就攤上這事“谷停” “怎么了融蹂?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長弄企。 經(jīng)常有香客問我转晰,道長胚委,這世上最難降的妖魔是什么皮胡? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任烫罩,我火速辦了婚禮,結(jié)果婚禮上约素,老公的妹妹穿的比我還像新娘届良。我一直安慰自己圣猎,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布送悔。 她就那樣靜靜地躺著爪模,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荚藻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天鞋喇,我揣著相機(jī)與錄音眉撵,去河邊找鬼。 笑死纽疟,一個胖子當(dāng)著我的面吹牛罐韩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播污朽,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼散吵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蟆肆?” 一聲冷哼從身側(cè)響起矾睦,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎炎功,沒想到半個月后枚冗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡蛇损,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年赁温,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淤齐。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡股囊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出更啄,到底是詐尸還是另有隱情稚疹,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布锈死,位于F島的核電站贫堰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏待牵。R本人自食惡果不足惜其屏,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望缨该。 院中可真熱鬧偎行,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至妙真,卻和暖如春缴允,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背珍德。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工练般, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锈候。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓薄料,卻偏偏與公主長得像,于是被迫代替她去往敵國和親泵琳。 傳聞我的和親對象是個殘疾皇子摄职,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353