4

I have a project with 2 targets, both targets share more than 99% codes and was written in Swift 3.

When XCode 9 is available, one of the targets is being scanned, the codes and the target's "Build Settings" are all updated for Swift 4. Sadly, I just found out that another target is still marked as Swift 3.2 syntax.

I would like to update the second target to Swift 4 by XCode, however, the second target is marked as Swift 3.2 syntax but the codes are Swift 4 already, it is not compilable and thus automatic update to Swift 4 by XCode is not worked.

Since both targets share most of the codes, I do not need XCode to help me scan or convert the codes automatically, I would like to upgrade the whole project to Swift 4 instead. I have updated the "Swift Language Version" in Build Settings of the second target to Swift 4.0 manually. Is there any other project settings which I should take care too?

Thanks

Nishant Bhindi
  • 2,242
  • 8
  • 21
Wilfred
  • 187
  • 3
  • 15
  • as mentioned in below deleted answer (still visible ?) see https://stackoverflow.com/questions/46338588/xcode-9-swift-language-version-swift-version/46339401#46339401 – Scott Stensland May 01 '18 at 20:45

1 Answers1

0

I have updated the "Swift Language Version" in Build Settings of the second target to Swift 4.0 manually

Check the Swift 3 @objc inference is set to off.

Other than that, you are good to go.

JeremyP
  • 84,577
  • 15
  • 123
  • 161