這么晚還寫這些,主要是有些東西以前沒用到,最近使用到,所以寫下算做個記錄吧。 ##正文 ###Interface Builder Xcode6中在原有的Auto layout的基礎上,添加了Size Classes新特性,通過這個新特性可以使用一個XIB或者SB文件,適配不同的屏幕以及iPhone和iPad兩種設備。(本人喜歡代碼控制)
- 創建一個XIB文件進去,點擊下面紅框的位置,會出現從3.5寸-5.5寸一系列屏幕尺寸的選項。直接點擊不同屏幕尺寸,以及橫豎屏選項,切換不同的屏幕顯示。在iPad上還可以選擇是否分屏,功能非常強大。在右邊有一個Vary for Traits ?按鈕,點擊這個選項就可以同時顯示所有可選的屏幕樣式,只是顯示上看起來比較多,沒啥卵用(默認的XIB是6s的長方形,比之前正方形看起來舒服了).
在Xcode8之前,創建一個XIB或SB文件,都是一個600*600的方塊。在Xcode8之后,創建的XIB文件默認是6s尺寸的大小。 Xcode8打開之前舊項目的XIB或SB文件時,會彈出下面的“彈框”, 這時候一般直接選擇Choose Device即可。
但是這樣有個問題,如果Xcode8打開過這個XIB文件,并選擇Choose Device之后。其他的Xcode8以下版本的編譯器,會報以下錯誤: The document “ViewController.xib” requires Xcode 8.0 or later. This version does not support documents saved in the Xcode 8 format. Open this document with Xcode 8.0 or later. 有兩種方法解決這個問題: 也升級Xcode8,比較推薦這種方式,應該迎接改變。 右擊XIB或SB文件 -> Open as -> Source Code,刪除xml文件中下面一行字段(如下)。
###Target中General的變化 在Xcode8中可以通過Automatically manage signing選項,讓蘋果為我們管理證書和配置文件,設置也都是由蘋果來完成的。在Xcode8中新建項目,這個選項默認是被勾選的(我也不習慣用,我都是debug release分開設置,這樣做demo時候直接用debug 通配符的profile)。
###Xcode插件 在Xcode8中所有第三方插件都失效了,在之前很多iOS開發者,都是通過Alcatraz來管理插件的,現在Alcatraz也是不可用的。但是Xcode8自身也對編譯器進行了升級,將一些比較好的插件功能加入到Xcode中(我常用的VVDocumenter-規范注釋生成器,快捷鍵是“option + command + / ”)。
在Xcode8中支持了開發插件工程,并且為我們提供了一個插件模板,開發的插件可以上傳到App Store下載。蘋果這么做有一個原因在于,之前Xcode和插件是運行在同一個進程的,所以插件的崩潰也會導致Xcode崩潰。蘋果現在將插件作為一個單獨的應用程序,分開進程運行,不會對Xcode帶來其他影響。
###Runtime Issues 在開發過程中,因為語法或明顯的代碼錯誤(例如Retain Cycle),編譯器可以發現并報黃色或紅色警告。但是一些因為代碼邏輯導致的錯誤,編譯器并沒有辦法找到。例如因為代碼邏輯的問題導致兩個數組相互引用,都不能釋放。
通過Xcode8提供的Runtime Issues新特性,查找到運行過程中出現的問題(紫色的感嘆號),并通過Graph的方式將問題可視化的展現給開發者(不會用)
- Debug Memory Graph 在Xcode6中出現了Debug View Hierarchy新特性,可以通過其調試當前App的視圖層級。在Xcode8中蘋果為開發者提供了Debug Memory Graph特性(?圖片就是),可以直接選擇一個對象,查看與其相關的內存關系。Debug Memory Graph和Runtime Issues可以配合使用,通過Debug Memory Graph分析內存關系完成后,點擊Runtime Issues可以看到已經發現的內存問題。
結束