xcode 10 新特性

這裏主要介紹一下Xcode10 版本主要更新的內容。
隨着iOS12的發佈,Xcode10已經能夠從Mac App Store下載。
Xcode10包含了iOS十二、watchOS 五、macOS10.14以及tvOS 12的SDK。另外,開發者能夠從Xcode中看到當前Deployment Target最低爲iOS8,因此後續開發過程當中我的以爲能夠忽略iOS8以前的一些特性。
要想安裝Xcode10,mac系統版本必須是macOS 10.13.6或者更高。這裏對主要的一些變動作一些介紹(並不是全部)。html

棄用的東西

  • C++庫libstdc++在Xcode8的時候已經棄用,在Xcode10以及以後將再也不支持(iOS target)。C++工程必須遷移到libc++。除了修改c++標準庫的build setting,開發者還應該查看一下硬編碼的linker flags和target的依賴,刪除libstdc++(包括-lstdc++、-lstdc++6.0.九、libstdc++6.0.9.tbd和libstdc++6.0.9.dylib)的引用。項目中依賴的針對libstdc++構建的靜態歸檔文件也須要針對libc++從新構建。(也就是說咱們須要檢查一下Target的Build Phases,裏面的Link Binary With Libraries若是包含上述提到的庫,須要刪除,而且移除DrivedData)。
  • 移除了對Subversion的支持。
  • Xcode10是最後一個支持Swift3的版本。經過打開Project>Edit> Convert>To Current Swift Syntax..來將Swift3的代碼轉成swift4.2。
  • macOS 10.14SDK再也不支持32位程序。若是開發者須要編譯i386,使用Xcode9.4或者更早版本的Xcode。

設備

使用Xcode10運行老版本Xcode構建的WatchKit app,將會報錯:「TheWatchKit app has an invalid stub executable」。解決辦法:Clean build文件夾,而後重新運行。c++

已解決的問題

  • 新建的文件.h默認包含NS_ASSUME_NONNULL_BEGIN 和NS_ASSUME_NONNULL_END。這兩個宏之間的代碼,全部指針對象都會假定爲nonull,因此咱們在開發的時候只須要指定那些nullable的對象便可。swift

新特性

    • NSData類型的數據能夠直接導出來。例如一張圖片轉成data以後,在快速瀏覽框能夠直接將data導出,最終保存成包含二進制的文件。app

    • 新建的schemes默認被全部用戶共享。若是想建一個私人的scheme,在Manage Schemes中不選擇Shared便可。

 

詳情路徑傳輸: https://www.cnblogs.com/zhanggui/p/9686155.htmlui

相關文章
相關標籤/搜索