If you open your project with Xcode 9 for the first time, you will see a migration opportunity item in the Issue Navigator; click on it to activate a sheet asking you if you'd like to migrate. You can be reminded later or invoke the migrator manually from the menu—Edit | Convert | To Current Swift Syntax…
You will be given a list of targets to migrate. Only those targets that contain Swift code will be selected.
There is only one migration workflow this year, although there is a choice between two kinds of @objc inference:
- Minimize inference: Add an @objc attribute to your code only where it is needed based on static inference. After using this option, you need to follow the manual steps.
- Match Swift 3 behavior ...