Session 104 - What’s new in Xcode
說到 Xcode,不得不說它是最漂亮的 IDE 了(巨硬不要打我,你沒有給五毛安利費)。這次的 Xcode 7.0 更新,給我們也同時帶來了很多方便和快捷的地方。下面就列舉一下學習的要點。
-
Generic Collection:
Generic Collection 對自己而言並不陌生,在 Java 中其實就有實現了,不再贅述其優越性。
例如:
@property (nonatomic, strong) NSArray<UIImage *> *imageArray;
。 -
Size Classes:
從 Xcode 6 引入的 Size Classes 為 iOS 9 下的 Split View 奠定了基礎。
-
App Thinning:
使用 Bitcode 來提交整個 app,並且對於不同的型號和屏幕的 iPhone/iPad 提供不一樣的圖片支持(Slicing)。
這裡做了個 Demo 演示,具體介紹了轉移到新的 Xcode 7.0 下的應用配置更新,還有使用了 Data Set 和 On Demand Resource Tags 來下載必要的資源文件(這些文件託管在 App Store 上)。使用
startUsingGenre
和stopUsingGenre
調用。 -
Debug:
更強大的 Debug 功能。提供了 Energy Report 來反映整個 app 的資源消耗問題。使用 Address Sanitizer 來追蹤 Crash 的具體位置(在 Run - Diagnostics 下打開,需要重新編譯)。通過 Test Flight 收集 Crash 信息,來追從並且定位故障。
-
Testing:
之前用的比較多的用來進行測試的是 XCTest 還有 Xcode Server,之前也寫過一篇文章來講如何進行自動化的 UI 測試。這次 Apple 直接給我們帶來了
UITesting
這個類,並且可以直接對模擬器進行錄製腳本后插入斷言來實現 UI 測試。這相比之前使用 Automation 測試方便了很多。此外,還添加了 Code Coverage 功能來檢測代碼的覆蓋程度。