We have big enough project which is built up with Swift 2.x and now Apple has just released Swift 4 so to move forward for latest version of Swift which path we can choose...
Do we need to migrate our code to Swift 3 first? Or we can directly migrate our code to Swift 4 using Xcode 9?
Yes, you must migrate your code in Swift 3 compatible version. Xcode 9 allows conversion/migration from swift 3.0 only.
Swift 3.2 is supported by Xcode 9 & Xcode 8 both.
Convert your source code from Swift 2.0 to 3.2 using Xcode 8 and then continue with Xcode 9 (Swift 3.2 or 4).
For easier migration of your code, follow these steps: (it will help you to covert into latest version of swift supported by your Xcode Tool)
(Xcode) Menus: Edit ► Covert ► To Current Swift Syntax
Yes, you first need to migrate your code from Swift 2 to Swift 3, using Xcode 8.
Xcode 8 is the last version to support Swift 2.
Starting with Xcode 9, the supported Swift versions are 3.2 and 4
Yes, you need to convert your code to swift 3 first using Xcode 8 then Xcode 9 can convert it to swift 4.
Yes, you need old versions of Xcode . Old version are available here https://developer.apple.com/download/more/