1. 程式人生 > >xcode 10 新特性

xcode 10 新特性

這裡主要介紹一下Xcode10 版本主要更新的內容。
隨著iOS12的釋出,Xcode10已經可以從Mac App Store下載。
Xcode10包含了iOS12、watchOS 5、macOS10.14以及tvOS 12的SDK。另外,開發者可以從Xcode中看到當前Deployment Target最低為iOS8,所以後續開發過程中個人覺得可以忽略iOS8之前的一些特性。
要想安裝Xcode10,mac系統版本必須是macOS 10.13.6或者更高。這裡對主要的一些變更做一些介紹(並非所有)。

棄用的東西

  • C++庫libstdc++在Xcode8的時候已經棄用,在Xcode10以及之後將不再支援(iOS target)。C++工程必須遷移到libc++。除了修改c++標準庫的build setting,開發者還應該檢視一下硬編碼的linker flags和target的依賴,刪除libstdc++(包括-lstdc++、-lstdc++6.0.9、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資料夾,然後從新執行。

已解決的問題

  • 新建的檔案.h預設包含NS_ASSUME_NONNULL_BEGIN 和NS_ASSUME_NONNULL_END。這兩個巨集之間的程式碼,所有指標物件都會假定為nonull,所以我們在開發的時候只需要指定那些nullable的物件即可。

新特性

    • NSData型別的資料可以直接匯出來。例如一張圖片轉成data之後,在快速瀏覽框可以直接將data匯出,最終儲存成包含二進位制的檔案。

    • 新建的schemes預設被所有使用者共享。如果想建一個私人的scheme,在Manage Schemes中不選擇Shared即可。

 

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