Xcode 9 is horrible :/


#1

This rant isn’t directly related to JUCE, except that I’m using Xcode in JUCE based C++ projects.

Since updating to Xcode 9:

  • Out-of-date compilation errors linger for minutes. Sometimes these errors appear mid-typing, before I finished typing the line, and just stay there.
  • Often I don’t get compiler warnings, when I should. They randomly appear and disappear for no reason whatsoever.
  • Building, especially the linking stage, feels super-slow.
  • Searching text in the project takes me to the wrong places - the search string isn’t there at all!
  • Jump to symbol pauses for ~5 seconds before it jumps to the symbol.

Do you guys get the same impression?

Are folks using other tools on macOS, like CLion or Projucer’s live build? Do you recommend the tools you’re using? I guess I’ll probably try CLion…

(on macOS 10.13 here on a relatively new 2.9GHz i5 2016 MacBook Pro!)


#2

Yeah, they’re catastrophically messed up the way it handles line-endings. As well as getting all the code positions wrong, it also now trashes the line endings whenever you save a file, which explains why I’ve had to push a lot of whitespace fixes to the repo recently…

It really is disappointing. Up until now each release seemed to be an improvement, but this one is just a disaster.


#3

Adding Windows line endings to files (the JUCE style) is also broken. And it took me HOURS to get an iPad to accept a debugging connection, and I’m still not sure why.

We’re working on CLion support at the moment: CMake support in the Projucer


#4

This tool might be useful for you: https://github.com/soundradix/git-utils/blob/master/git-w.py

I use it to make commits that don’t change the line endings. For example with JUCE’s source which has the “wrong” :wink: line endings…


#5

Thanks - yes, we have our own cleanup scripts here too, and our Jenkins system warns us if we attempt to push any broken whitespace. I just keep forgetting to run it…


#6

could you use .gitattributes to help here? hope I haven’t just committed a load of wrong line endings :frowning:


#7

+1

  • CMD-Click goes now to a menu, while I always need the first option…
  • The errors that stay forever are confusing, even if the line already says “Build succeeded”

But a plus is, that they turned on more warnings by default…


#8

The “live issue” (preferences->general-> show live issue) started to annoy me a lot a few versions back, so I ended turning it off. Not sure if you would like it, but the editing just feels smoother without it in my opinion (but perhaps it’s my mac that was just a bit too slow).


#9

you can change that in xcode preferences->navigation :


#10

lovely, thanks @lalala.
I’m curious, when I start missing the other features :wink:
Cheers!


#11

Or ctrl-cmd click, if you often use other people’s computers…


#12

interesting… I am 100% that I tried all combinations before. But with this setting it works perfect now, CMD-click jumps and CMD+Ctrl+click brings the menu…
Thank you!


#13

My xcode(s) have been shafted for ages. I get the wrong line numbers for error messages on a whole shit load of projects.

It’s been so rubbish that I bought a PC and only touch Xcode when i’m desperate!

Roll on CLion support!!

I’ll stop now before I rant…


#14

Seems like everyone agrees with you.


#15

You save any line endings you want on VS, using the save as drop menu. Which is easy to overlook. See:
https://stackoverflow.com/questions/43323941/inconsistent-line-endings-visual-studio-community-2017


#16

No, jules, we are used to see the past in nice colours, but no; Xcode is a constant aggravation: from debugging (no way to inspect memory anymore, mismatching code lines), over wrong file modification dependency checks, increasing crashes, increasingly slow editor (used for large .svg), and myriads of other deteriorations. So Xcode 9 is perfectly in line - tons off unnecessary new features - no bug fixes, ever)


#17

Well at least they got rid of all those windows popping up a few versions ago. Don’t forget, it’s all comes with the sense of being ‘up to date’ :smiley:


#18

To everyone in this thread having build issues, make sure to delete your derived data (not just cmd-K, nuke the whole folder), then go grab lunch while the project re-indexes.

On a positive note…

One HUGE improvement in Xcode 9 is that the whole source editor has been replaced. It used to run at horrid frame rates with tearing and poor responsiveness, pushing your CPU to 105% to scroll. Now it runs buttery smooth with CPU usage at 20%, in line with third party apps like Sublime! (On my 2015 15" MBP)

As others have pointed out, this isn’t super useful when nothing else works very well, but hey, it’s something…

Also, for specific issues, use the Help -> Report an Issue menu item to file a bug. From what I hear it’s not just a black hole, people at Apple actually read them!


#19

LOL. And in 2017 we could draw text to the screen quickly… :sunny: yay.


#20

Wi-Fi debugging of iOS devices is a welcome feature too, and a huge improvement if you have some other hardware using up the lightning port!