Hacker News new | ask | show | jobs
by justsaysmthng 3565 days ago
If you're thinking of updating to Xcode 8, hoping that your project will 'just build', don't get your hopes too high.

I've already spent all day fixing, updating, searching around for all kinds of errors that the build system throws at me. It also required me to update the project dependencies to their latest versions which support swift 3/xcode 8. Some dependencies (like SwiftBond 5) have changed a lot and now my project has hundreds of syntax errors due to renamed methods, not that hard to fix, but not sure if they'll still run the same...

So this is a major upgrade to your project - do it when you have spare time to waste.

In the meantime, I'm thinking of reverting to Xcode 7.3 and running the two versions side by side... Is that possible ?

1 comments

> In the meantime, I'm thinking of reverting to Xcode 7.3 and running the two versions side by side... Is that possible ?

I think you're probably better off just keeping Xcode 8 by itself, but use Swift 2.3 for projects if you need to. There are very very few differences between 2.2 and 2.3, converting existing code over is much faster than 2.2 -> 3.0.

Tried that, but it seems the build setting now needs an explicit SWIFT_VERSION configured .. And carthage dependencies don't have that so the build fails.

Basically, I couldn't get my carthage dependencies to compile with Swift 2.3, so I went the Swift3 route, which now, after 10 hours wasted, was such a bad idea!

Appstore was bugging me to update Xcode so I caved in and now I'm stuck with a project that doesn't build and the deadline approaching fast. Such a useless waste of time.

To placate Carthage dependencies that complain about a missing SWIFT_VERSION configuration, try setting the TOOLCHAINS environment variable.

  TOOLCHAINS=com.apple.dt.toolchain.Swift_2_3 carthage bootstrap
This is the thing I've been looking for !

Thank you for the 63 characters of wisdom, my project now builds !

Yes, this is what Swift 2.3 is for.