iOS11:Xcode9 你需要知道的都在這裡!

陳雨塵發表於2018-07-18

IMG_4302.JPG

iOS 11已經升級一週多了,目前專案也基本已經適配完成。這裡我總結下iOS 11 和Xcode 9的一些更新,希望能夠對你有用!

Xcode 9 更新

1.程式碼摺疊

升級完Xcode 9 發現程式碼不能摺疊了,這對於我這種習慣摺疊程式碼調理清晰的人這麼能夠接受呢?如實我發現了

摺疊.gif
(哦!錄得視訊轉gif 之後有白邊啊.... 各位將就這看吧哈)

Command + 左鍵 之後選擇Fold

2.點選物件跳轉

跳轉到方法.png


什麼?Command+左鍵不能跳轉了,這..... , 沒關係!

Command+左鍵 + Jump to Definition

這個天天用,每次要兩個步驟,這不是要命嗎?這..... ,沒關係 !

Command+右鍵 可直接跳轉

我之前都是Command + 左鍵就跳轉了,現在各種不習慣啊,這..... , 沒關係!

修改.png

設定這裡就變回之前的啦,Command + 左鍵 就能直接跳轉了,上面所說的其他功能就是變成了 Command + 右鍵

3.無線真機除錯

真機除錯.png

同一區域網下,iOS 11 勾選 Connect via network 就可以真機除錯了,但是速度肯定比有線的慢

4.真假資料夾

資料夾 .png

更新完之後你會發現,哇!怎麼還有個小三角,這就是真假資料夾的一個標示,如果資料夾在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 就完美了!

新增照片.png

好了,先總結到這裡,以後遇見再加, 歡迎親們點贊哈!? ?

相關文章