Hacker News new | ask | show | jobs
by wool_gather 3406 days ago
The one that's been getting me lately is the split between Xcode 7/Swift 2.2 and 8/3. We have an older project in Swift 2 (yes, it's slated to get changed over, just not yet), and new work on a project in 3. If I try to open one while the other is already open, one of the Xcodes invariably freezes or crashes.

I will say, though, that I've always liked IB (though not storyboards). But then there's the wonderful "Oh, you opened a nib, I should move something around in the XML." -> SCM status changes even though I didn't modify the file.

2 comments

Can you still submit apps with Xcode 7?

In response to your problem, having done the Xcode Old/Xcode New dance every year since 2012, I got into the habit of making sure they are never running concurrently. Things get even worse if you run xcodebuild on the command line while a different UI version is running.

You can't run multiple versions of Xcode concurrently due to CoreSimulator fighting over which version gets to run. This is a limitation we are aware of. We are also very aware of the problems it causes.

As for other problems, please file radars and respond to requests for additional information. I have been on the external side of radar, I know it can be frustrating, but we do read them and we do take direct action based on them. Even duplicates are very useful.

What? I have very little problem running Xcode 7 and Xcode 8 along side each other. As long as you close the simulator before running from the other version.
Only one CoreSimulator service can be running at a time because only one can be in control of the devices and the database. If you try to keep two versions of the tools open they'll keep killing each other's CoreSimulator or one will get stuck with the wrong incompatible version.

CoreSimulator is used during builds and for IB's accurate rendering feature. Instruments and Console open connections to CoreSimulator for various purposes. A lot of things can break.

I've found having IB open in both versions will eventually lead to errors in IB, if not outright crashes.
> Can you still submit apps with Xcode 7?

...yes. You can. 6 is the minimum.

> having done the Xcode Old/Xcode New dance every year

There didn't used to be this hard division between Xcode versions because of the compiler. If you were willing to do some reconfiguring, you could use newer GCC or "Apple LLVM" with the older Xcode.

Why are you not using the Swift 2.3 option in Xcode 8? It is going away in Xcode 8.3, but still, you can use more modern and stable dev tools.
I'm not sure why it hasn't been done yet; I've only been on the team for two months now. That would indeed be lovely. But the plan is to have one of our contractors move the entire project up to Swift 3. I don't know exactly when, though...
The OP mentioned Swift 2, not Swift 2.2 - even that upgrade can be non-trivial (2->2.2).
Eh, it is indeed 2.2, sorry for the imprecision. But yes, the concern is the time for the transition. Planned. We just have to fit it in.
The file changing just from being looked at is one of the basic reasons that IB is bad. Apple made a grievous mistake in designing UI markup that is intended to be hidden from developers. Un-organizable, un-diffable toxic sludge.