iOS13 (一)適配

一杂抽、模態(tài)彈出


present彈出效果圖

在iOS13中modalPresentationStyle的默認(rèn)改為UIModalPresentationAutomatic,而在之前默認(rèn)是UIModalPresentationFullScreen。

要改會(huì)原來(lái)模態(tài)視圖樣式,我們只需要把UIModalPresentationStyle設(shè)置為UIModalPresentationFullScreen即可

如果是從控制器跳轉(zhuǎn)的,這個(gè)屬性設(shè)置在控制器扎即,如果是封裝了一個(gè)單獨(dú)的導(dǎo)航欄跳轉(zhuǎn),則這個(gè)屬性設(shè)置在導(dǎo)航欄

二、私有KVC


iOS不允許valueForKey叹俏、setValue: forKey獲取和設(shè)置私有屬性,需要使用其它方式修改

如:[textField setValue:[UIColor red]forKeyPath:@"_placeholderLabel.textColor"];

//替換為

textField.attributedPlaceholder?=[[NSAttributedString alloc]initWithString:@"輸入"attributes:@{NSForegroundColorAttributeName:[UIColor red]}];


三僻族、蘋(píng)果提供第三方登錄


Sign in with Apple -提供第三方登錄的注意啦

如果你的應(yīng)用使用了第三方登錄粘驰,那么你可能也需要加下 「Sign in with Apple」

Sign In with Apple will be available for beta testing this summer. It will be required as an option

for users in apps that support third-party sign-in when it is commercially available later this year.

如果蘋(píng)果開(kāi)發(fā)者提供任何其他第三方登錄屡谐,同時(shí)需要提供“蘋(píng)果登錄”選項(xiàng)。也就是說(shuō)蝌数,如果軟件要求“微信登錄”或是“QQ登錄”時(shí)康嘉,必須同時(shí)提供“蘋(píng)果登錄”的選項(xiàng)給用戶自行選擇。根據(jù)蘋(píng)果公司最新公布的指南籽前,要求開(kāi)發(fā)者在蘋(píng)果終端的應(yīng)用程序登錄界面上,將“蘋(píng)果登錄”選項(xiàng)列在任何其他第三方登錄的選項(xiàng)之上敷钾。

雖然這只是蘋(píng)果的指南建議枝哄,并非蘋(píng)果商店的審查要求,但是開(kāi)發(fā)者認(rèn)為這無(wú)疑是通過(guò)蘋(píng)果審核的一個(gè)好方法

官方Demo:點(diǎn)我下載


四阻荒、UISearchBar顯示問(wèn)題


TextField

升級(jí)到iOS13挠锥,UISearchController上的SearchBar顯示異常,查看后發(fā)現(xiàn)對(duì)應(yīng)的高度只有1px,目前沒(méi)找到具體導(dǎo)致的原因侨赡,解決辦法是使用KVO監(jiān)聽(tīng)frame值變化后設(shè)置去應(yīng)該顯示的高度

黑線處理crash

之前為了處理搜索框的黑線問(wèn)題會(huì)遍歷后刪除UISearchBarBackground蓖租,在iOS13會(huì)導(dǎo)致UI渲染失敗crash;解決辦法是設(shè)置UISearchBarBackground的layer.contents為nil

publicfuncclearBlackLine(){

?forview?inself.subviews.last!.subviews?{

?ifview.isKind(of:NSClassFromString("UISearchBarBackground")!){

??????????????? view.backgroundColor?=UIColor.white

??????????????? view.layer.contents?=nil

?break } } }


五、TabBar紅點(diǎn)偏移


如果之前有通過(guò)TabBar上圖片位置來(lái)設(shè)置紅點(diǎn)位置羊壹,在iOS13上會(huì)發(fā)現(xiàn)顯示位置都在最左邊去了蓖宦。遍歷UITabBarButton的subViews發(fā)現(xiàn)只有在TabBar選中狀態(tài)下才能取到UITabBarSwappableImageView,解決辦法是修改為通過(guò)UITabBarButton的位置來(lái)設(shè)置紅點(diǎn)的frame


六油猫、MPMoviePlayerController廢棄

MPMoviePlayerController 在iOS 13已經(jīng)不能用了

'MPMoviePlayerController is no longer available. Use AVPlayerViewController in AVKit.'?

解決方案:既然不能再用了稠茂,那只能換掉了。替代方案就是AVKit里面的那套播放器情妖。(DDW使用的AVKit)


七睬关、DeviceToken變化


iOS 13 DeviceToken有變化,原有的方法已經(jīng)無(wú)法獲取到準(zhǔn)確的DeviceToken字符串了

NSString *dt = [deviceToken description];

dt = [dt stringByReplacingOccurrencesOfString: @"<" withString: @""];

dt = [dt stringByReplacingOccurrencesOfString: @">" withString: @""];

dt = [dt stringByReplacingOccurrencesOfString: @" " withString: @""];

這段代碼運(yùn)行在 iOS 13 上已經(jīng)無(wú)法獲取到準(zhǔn)確的DeviceToken字符串了毡证,iOS 13 通過(guò)[deviceToken description]獲取到的內(nèi)容已經(jīng)變了电爹。

解決方案

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{

??? if (![deviceToken isKindOfClass:[NSData class]]) return;

??? const unsigned *tokenBytes = [deviceToken bytes];

??? NSString *hexToken = [NSString stringWithFormat:@"%08x%08x%08x%08x%08x%08x%08x%08x",

????????????????????????? ntohl(tokenBytes[0]), ntohl(tokenBytes[1]), ntohl(tokenBytes[2]),

????????????????????????? ntohl(tokenBytes[3]), ntohl(tokenBytes[4]), ntohl(tokenBytes[5]),

????????????????????????? ntohl(tokenBytes[6]), ntohl(tokenBytes[7])];

??? NSLog(@"deviceToken:%@",hexToken);

}


八、LaunchImage廢棄


即將廢棄的 LaunchImage

從 iOS 8 的時(shí)候料睛,蘋(píng)果就引入了 LaunchScreen丐箩,我們可以設(shè)置 LaunchScreen來(lái)作為啟動(dòng)頁(yè)。當(dāng)然秦效,現(xiàn)在你還可以使用

LaunchImage來(lái)設(shè)置啟動(dòng)圖雏蛮。不過(guò)使用LaunchImage的話,要求我們必須提供各種屏幕尺寸的啟動(dòng)圖阱州,來(lái)適配各種設(shè)備挑秉,

隨著蘋(píng)果設(shè)備尺寸越來(lái)越多,這種方式顯然不夠 Flexible苔货。而使用 LaunchScreen的話犀概,情況會(huì)變的很簡(jiǎn)單立哑,

LaunchScreen是支持AutoLayout+SizeClass的,所以適配各種屏幕都不在話下姻灶。

注意啦铛绰,從2020年4月開(kāi)始,所有使? iOS13 SDK的 App將必須提供 LaunchScreen产喉,LaunchImage即將退出歷史舞臺(tái)捂掰。


本文參考自:http://www.reibang.com/p/46cd57b98b0d


如發(fā)現(xiàn)遺漏或者錯(cuò)誤,請(qǐng)?jiān)谙路皆u(píng)論區(qū)留言曾沈。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末这嚣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子塞俱,更是在濱河造成了極大的恐慌姐帚,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件障涯,死亡現(xiàn)場(chǎng)離奇詭異罐旗,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)唯蝶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)九秀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人粘我,你說(shuō)我怎么就攤上這事颤霎。” “怎么了涂滴?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵友酱,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我柔纵,道長(zhǎng)缔杉,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任搁料,我火速辦了婚禮或详,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘郭计。我一直安慰自己霸琴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布昭伸。 她就那樣靜靜地躺著梧乘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上选调,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天夹供,我揣著相機(jī)與錄音,去河邊找鬼仁堪。 笑死哮洽,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的弦聂。 我是一名探鬼主播鸟辅,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼莺葫!你這毒婦竟也來(lái)了剔桨?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤徙融,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后瑰谜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體欺冀,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年萨脑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了隐轩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡渤早,死狀恐怖职车,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鹊杖,我是刑警寧澤悴灵,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站骂蓖,受9級(jí)特大地震影響积瞒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜登下,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一茫孔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧被芳,春花似錦缰贝、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至侵状,卻和暖如春李破,著一層夾襖步出監(jiān)牢的瞬間宠哄,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工嗤攻, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留毛嫉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓妇菱,卻偏偏與公主長(zhǎng)得像承粤,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子闯团,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345