iOS 11已經升級一週多了,目前專案也基本已經適配完成。這裡我總結下iOS 11 和Xcode 9的一些更新,希望能夠對你有用!
Xcode 9 更新
1.程式碼摺疊
升級完Xcode 9 發現程式碼不能摺疊了,這對於我這種習慣摺疊程式碼調理清晰的人這麼能夠接受呢?如實我發現了
(哦!錄得視訊轉gif 之後有白邊啊.... 各位將就這看吧哈)Command + 左鍵 之後選擇Fold
2.點選物件跳轉
什麼?Command+左鍵不能跳轉了,這..... , 沒關係!
Command+左鍵 + Jump to Definition
這個天天用,每次要兩個步驟,這不是要命嗎?這..... ,沒關係 !
Command+右鍵 可直接跳轉
我之前都是Command + 左鍵就跳轉了,現在各種不習慣啊,這..... , 沒關係!
設定這裡就變回之前的啦,Command + 左鍵 就能直接跳轉了,上面所說的其他功能就是變成了 Command + 右鍵
3.無線真機除錯
同一區域網下,iOS 11 勾選 Connect via network 就可以真機除錯了,但是速度肯定比有線的慢
4.真假資料夾
更新完之後你會發現,哇!怎麼還有個小三角,這就是真假資料夾的一個標示,如果資料夾在Finder真是存在就沒有三角,如果是在Finder 不存在就帶著小三角
iOS 11 適配
iOS 11 引入了安全域性域的概念,那什麼是安全域性域呢,我在這就不累述了,網上已經有很多了,這裡直說解決辦法。
1 iOS 11 cell 高度計算不對?
FDTemplateLayoutCell 計算出錯?這都是iOS 11 UITableView預設 開啟Self-Sizing
解決辦法
[UITableView appearance].estimatedRowHeight = 0;
[UITableView appearance].estimatedSectionHeaderHeight = 0;
[UITableView appearance].estimatedSectionFooterHeight = 0;
複製程式碼
2 iOS 11 tableView 內容下移?
這是 iOS 11 引入安全區域的原因
解決辦法
if (@available(iOS 11, *)) {
[UIScrollView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
複製程式碼
3 定位出問題,app 莫名閃退?
因為蘋果現在增加了一項新的隱私保護功能 NSLocationAlwaysAndWhenInUseUsageDeion, 並且原有的 NSLocationAlwaysUsageDeion 被降級為 NSLocationWhenInUseUsageDeion。 想要達到之前 NSLocationAlwaysUsageDeion 的定位效果,需要在info.plist檔案中新增 NSLocationAlwaysAndWhenInUseUsageDeion和 NSLocationWhenInUseUsageDeion 兩個就可以了
NSPhotoLibraryAddUsageDescription 引起的閃退
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryAddUsageDescription key with a string value explaining to the user how the app uses this data.
這是因為iOS 11 引入了一個儲存圖片的隱私許可權 需要在info.plist 新增 Privacy - Photo Library Additions Usage Description 就完美了!
好了,先總結到這裡,以後遇見再加, 歡迎親們點贊哈!? ?