一、前言
最近公司的App要做兼容iOS13的工作,於是收集整理了一下iOS13與開發相關的新特性,以及在做兼容過程中遇到的一些問題;記錄一下方便自己日後查找使用。
二、iOS13新特性
1、App Store的應用程序將會提供新的壓縮模式,應用體積和更新體積將會變得更小,應用體積減少60%,這意味着更快的應用更新速度。
2、允許通過蜂窩數據下載大型應用。
3、允許直接將網頁保存爲PDF並通過郵件共享。
4、原生支持Zip文件的創建以及解壓縮。
5、文件應用提供了下載文件夾,其中會存放使用Safari以及郵件應用下載的附件。
6、網站或者應用登陸時提供“使用Apple登陸”的選項,此時用戶會默認使用Apple ID登陸,並會提供兩步驗證的安全保障,Apple登陸支持Android以及Windows平臺。
7、在用戶使用Safari創建新網站賬號時,Safari會自動檢測用戶的密碼強度,並提出強度建議。
8、iOS 13原生應用啓動速度提升100%。
9、iPhone X、iPhone XS、iPhone XS Max以及iPhone XR的Face ID解鎖速度提高 30% 。
10、在應用詢問位置權限時,提供“僅一次”的選項。
三、iOS13問題 (iOS Beta版)
在iOS 13之前,我們模態展示的視圖默認是全屏的,而在iOS13中,默認的樣式變成了類iPhone上safari的分頁樣式(上下分層) 如下圖:
在使用 presentViewController 來跳轉視圖時系統提供了兩個參數來簡化跳轉的設置,modalTransitionStyle 和modalPresentationStyle前者爲轉場過渡的類型,後者爲展示的樣式,系統爲兩者都提供了多種可選樣式。
modalPresentationStyle在iOS13前該值默認爲UIModalPresentationFullScreen;而在 iOS13 中變爲了UIModalPresentationAutomatic,因此會導致如上問題。
解決方法:在presentViewController的時候將控制器modalPresentationStyle設置爲UIModalPresentationFullScreen 即
vc.modalPresentationStyle = UIModalPresentationFullScreen;
目前就整理到這些問題,後續再遇到問題再補充。