Xcode 9 is Unacceptable

EDIT: This post was suspended by forum moderation for unknown reasons around 2 weeks. And now (2017-12-15) activated again with original content unchanged.

---


I do not know where to start but Xcode 9 is a total mess, with countless bugs and performance issues.

I myself reported 7 bugs so far, and there are many more to report. But I gave up.

Why did I give up? Because I started to feel Apple does not care about us, the Developer Community, at all.

For Apple, the Developer Community is nothing more than some impressive numbers to be stated in their fancy Keynotes and blog posts.


Xcode 9 is a joke, it should not have been released at all.

Actually, it is worse than a joke, it is an insult.

Tens of thousands of developers working hard to make apps and giving life to the App Store ecosystem.

But nowadays, most of them are busy with dealing ridiculous Xcode 9 problems, instead of working on their own products.

Why? Because some people at Apple are so dedicated to ruin existing products, instead of improving them.

They choose to spend their time, money and energy on making useless stuff and creating more problems.

And they feel no shame about releasing underdeveloped and undertested products.


Apple's software quality is constantly degrading, especially last few years.

I am sure I am not the only one who can see this fact.

Along with iOS, any Apple operating system, web service or other kind of software product have unacceptable amount of problems.

From the end user viewpoint, these might be simple problems they encounter occasionally. Maybe they do not notice at all.

But from the developers viewpoint, this is serious. This is making our jobs less funny and more painful, as well as costing us time and money constantly.


Today, Apple is one of the most succesful companies in the world.

Anyone in the business clearly knows, Apple would not be at this point without iPhone.

And iPhone would be nothing without the App Store, and the App Store would be nothing without the Developer Community.


So, we want our voices to be heard.

We want people at Apple to know that they are failing their jobs and we are getting sick of this.


People at Apple!

Please show some respect to the Developer Community, and start fixing things without creating more problems.

Stop biting off more than you could chew. Develop more elaborately, and do more comprehensive testing on products before you release them.


Best regards,

E

Sorry, but "back in my day we didn't have autocompletion" is not an excuse for autocompletion not working.


I just wish Apple would stop implementing new features and get the existing ones right first. The new refactoring tools were long overdue and they are great, but syntax highlighting and autocompletion are fundamentals. I kind of agree it's unacceptable that they don't work half the time.


It's not a Swift thing either, i'm still working on some pure-ObjC projects, and it has the same problems as our Swift projects. I can tolerate Swift still having problems, it's a young language. But Swift support breaking ObjC programming is stupid.

Further to yours and other comments about the quality of XCode 9 I think the time has come to try and make Apple sit up and take notice either by not attending this years WWDC or by standing up and voicing concerns during the event itself. It is absolutely no use whatsoever for Apple to start evangelising about the next version of Xcode when 9 still doesn't work correctly - all we will end up with is more prolonged pain. Most of us will be reluctant to upgrade until at least 6 months has gone by and we are on the 5th Beta anyway...


If Apple want to continue to encourage new developers to join the platform and keep those already here they simply have to focus on getting Xcode working right. When autocomplete doesn't autocomplete and documentation stays out of date or remains generally unhelpful and Interface Builder is full of bugs how on earth are less experienced developers meant to learn anything? When you have to start hunting for an apparent bug that is actually the fault of Xcode itself it can be such a total waste of time and effort. As a lone developer it has been hard enough keeping up with the changes in Swift without having to fight Xcode as well, Apple keeps looking to shiny new features without making last years toys work properly first. Lets have some quality BEFORE quantity, please!


When we see the demos at WWDC I can only think that the Xcode version being used is a secret shiny version used by Apple while we all get the sloppy untested version since most of the features demonstrated do not work or actually break our code leading to compiler errors or obscure run time faults. Just lately Xcode has entered a whole new phase by actually crashing as my app launches and then offering to send Apple a crash report about MY UNDER DEVELOPMENT APP that Apple will not know anything about anyway!


So Apple, PLEASE go back to bi-annual upgrades, get off this absurd yearly cycle, give yourself enough time to test things properly and start giving us the Xcode we all deserve - after all, Apple products are not exactly cheap to purchase, you have made an absolute fortune from the iPhone - surely you must have the resources to fix this?


I know Apple will not read this or give 2 hoots about my little rant but its sort of soothing to get this out there....

Yep, it's all about shiny now days. We need to keep this topic at the top of this list, maybe someone will notice.


Some things that have helped me.

  1. More Memory, when I went from 8GB to 40GB operational things like code completion and error detection improved greatly.
  2. More Processors, when I went from 2 to 4 cores operational things like code completion and error detection improved greatly.
  3. Periodically (usually about 4 times per day) reset all caches:
    1. rm -rfv "$(getconf DARWIN_USER_CACHE_DIR)org.llvm.clang" (for some reason this silently fails on High Sierra, you have to expand the manually. Probably some arcane Apple security thing.)
    2. rm -rfv "$(getconf DARWIN_USER_CACHE_DIR)com.apple.dt.Xcode" (for some reason this silently fails on High Sierra, you have to expand the dir manually. Probably some arcane Apple security thing.)

    3. rm -rfv ~/Library/Caches/com.apple.dt.*

  4. Clean up the xcode user state for the project. First use "find . -name 'UserInterfaceState.xcuserstate' ". Then delete all files found.
  5. Periodically remove everything in the derived data folder.
  6. Reboot the computer at least daily.
  7. Clean Build Folder in Xcode then quit Xocde every hour.


Xcode expects your code to compile cleanly in order for Code Completion to work at all. Any little error on your part and it just stops with no indication of why. Xcode also expects you to do top down programming. If you jump around between non-completed code segments in a function, xcode just gives up or gets confused. Stub in different functions to get around this and remove them when the code is completed.


When I get a goofy error in Xcode I just reset and reboot everything as described above and magically the error goes away. The most annoying error is the error that gets stuck in xcode. Whether xcode is quit or not it it stays until a reboot. I must be missing some cache someplace.

Totally agree. I have been using Xcode for years and it has steadily declined. Each release is worse than the last. It is unusable slow, it even lags when scrolling, story boards are increasingly slow to load, crashes, code complete failures, find call hierarchy does not update. Too many bugs too list. Every new release there are more posts talking about this same trend and problem, but nothing is done. This is embarassing software and easily the worst IDE I have ever used.


From a UX perspective, it uses non standard pattenrs EVERYWHERE. You have to learn a whole new set of patterns rather than using established UI/UX patterns literally EVERY other application abides by. Some examples:

  • You click a file and it opens in the current tab, replacing what you have open
  • You use touchpad swiping to navigate back and forth
  • CTRL+Tab switches between tabs rather than to previously opened file
  • Can't collapse scopes
  • Selecting a block of code and hitting tab replaces it with a tab character rather than indenting
  • Dragging breakpoints off to remove rather clicking to toggle


These are just off the top of my head.


Fire the product manager for XCode and hire someone competant and give them the resources they need to fix this mess. You are going to lose everyone to react native or 3rd party IDEs, and the quality of your app ecosystem WILL suffer. This reflects terribly on your priorities.

I agree that Xcode has too many bugs, that is sadly true... But I am not sure that it is so bad in the sense that it does not really impact my productivity... the most time I spend is to find the correct design or algorithm to be implemented to do my job.


I work often with beta version though


Anyway, the poor quality sometime is very frustrating. I use a lot playgrounds for some testing and the way it run is not very satisfactory. The completion engine fails too mny time, that is true...


But on the issues you point above, don't forget that you can customize the editor in the corresponding Tab of the preferences, especially Tag can always indent your selected code (I use it all the time), and that you can change key binding


Apple please, add resources to the Tool Dev team... they need it

Hello igerard, the frustration for many of us is that Xcode has had certain faults for simply ages and as other commentators have said, rather than fixing some of these annoyances Xcode tends to accumulate new ones. The latest release of 9.3 does have a longer than usual list of welcome bug fixes but I cannot comment on 9.3 since some dependencies I am using have not been migrated to Swift 4.1 yet - any one out there seeing improvements over 9.2?


(BTW - I have found that switching to the new build system in project settings has brought about some improvements in 9.2 - but having said that see below)


Hopefully some of these will have been fixed:

1: File navigator remembers which folders are collapsed rather than insisting they all stay open

2: Xcode stops missing a coding change in a protocol and flagging up an error, then offering to write function stubs for code you have removed! (as of 9.2 the only way to get rid of this was to accept the incorrect stubs and then delete them, AFAIK)

3: Xcode offering you image assets in autocompletions in all the wrong places

4: Xcode being unable to locate the entitlements file if you moved it from the default position in the hierarchy

5: Xcode losing track of the info.plist, you end up having to tell Xcode to choose the one that's in the main bundle (fancy finding it THERE!)

6: Xcode incorrectly logging extraneous stuff to the console causing the user to have to set various environment variables to stop these behaviours (after doing some SO research...)

7: Xcode throwing up a red flag (which should stop your code from launching) only to have your app launch perfectly well with Xcode still showing an incorrect fatal error

8: Xcode offering duplicate calls in autocompletions

9: Xcode taking me to iOS documentation when I am clearly in macOS code, or Objc code when I am using Swift

10: Autocomplete moving the most obviously needed completions such as 'return' to second or third in the list meaning we have to stay awake to avoid incorrect selections

11: XCTest classes actually noticing when we have changed main source code without having to clean or re-build first

12: Using Visual Effect views in interface builder causing drawing artefacts to spill out over other views in the IDE

13: The Xcode IDE object library displaying empty view cells until you resize the IDE window slightly to trigger a re-draw

14: Red flag coding fixes causing yet more red flag errors

15: Simple springs and struts layouts displaying incorrectly at run time since Xcode does not convert settings to autolayout constraints correctly

16: Xcode launching my under-development app OK and then promptly crashing itself

17: Xcode running my app in a previously compiled state making me think that my latest coding changes have had no effect - until you set breakpoints and realise that your code is not being hit since Xcode hasn't seen it yet

18: I'm going to stop here or I will be up all night....


Even if some of these things do work correctly now new glaring errors will almost certainly keep coming along in their stead, so how is that Apple releases software these days that simply cannot have been tested thoroughly enough or even at all (remember the machine gun crashes of sourceKit in the early Swift days?...when I first experienced that happening I thought Apple had hit a new low).


As the first poster said, it is unacceptable to release software to which we have to depend on on a daily basis and which persists in a semi-broken state over many beta releases and even GM releases (we are talking YEARS here) - it has got to the point where I simply cannot remember when Xcode was not riddled with errors. The current version of Xcode on the Appstore should only have reached that place if it had been tested correctly but it so clearly hasn't been, hence all the negative reviews. Appstore reviews of Xcode are actually quite dismal reading, reminds me of the sort of press Microsoft received when they released Windows 8...it is sobering to think that we are in the same ball park these days.


Anyhow, this is my latest ramble in an effort to keep this thread high up on the list since all I want is an Xcode that actually works. If my TV or car had this many defects I would want my money back...

Quality is just one of the problems. Only today I had Xcode 9 crash 2 times. I have been a Microsoft dev for years and I was shoked by how much Apple's dev tools are behind Microsoft's. Quality is the #1 thing that Apple needs to address but new features are also needed.


One of the things that I hate the most is no support for MVVM pattern from apple. This pattern is cleary mroe supoerior then MVC and for years Apple has done nothing to give us a Binding mechanism to work with.


Also, a lot of large teams are not using storybaords because there is no support for git conflict resolution. In a dev world where UI and UX is really important working without a storyboard can really be a chalange and is making UI dev much slower.


Apple really needs to invest a lot more into dev tools!


Apple JUST DO IT! Spare a few milion $ for your tools.

And unnexpected crashes?! And the missing features like renaming classes functions etc in all the project? collapse all functions? Transform if else to ternary? good code formatter and rules ? Debbuger always with bugs! Quick preview for colors and images in the code like intelliJ and so many others issue lack of features that i can't remenber because i'm always finding new ways to getting frustrated with this 1998 Beta IDE.


Where we can vote for a new IDE!?

I make your words mine, the Storyboard it's a mess to work when you work in a teamlike GIT, why not edit your storyboard directly in XML?!Simple because apple decided to make that a mess of lines. Android studio it's a good example you can use the editor(GUI) or you can edit directly in xml, because they have some kind of organization.

36090583

Xcode 9 - Re-opening Project Puts Windows into Tabs

(because they told me to open a new report for some reason so I did...)

(they say is a duplicate of 35976549 yet remains unfixed)


33157351

Xcode 9 - Re-opening Project Puts Windows into Tabs

(they say is dupicate of 32577013 yet remains unfixed)


34638052

Refactoring Broken - IBOutlet Variable Name Change

(causes your code to crash at the first line of UIApplicationMain(), a day of debugging to figure it out)

(workaround: https://stackoverflow.com/questions/37313374/how-to-rename-the-iboutlet-property-without-lose-the-connection/46396096#46396096)


33157883

Xcode Randomly Changes Some Editor Window When Opening Code Document from Finder

(with mulitple windows open in Xcode and opening a project file from the finder, it is a crap-shoot which window loses its context in xcode and becomes the new document)


33916428

Changing Name of Xcode While Running Boogers Up Xcode

(their response "not supported", easy cop-out for not fixing a defect. If it is not supported, then the user should not be able to do it... Finder supports it, Xcode craps out, it's a defect)



But to be clear I could easily spend half of every day just documenting defects in Xcode for a month. The defects are constant... like a road they never fix and you learn to dodge the potholes... and only address it with "City Hall" when you bash a rim... I simply don't have time to be the Xcode Q&A department and I get the distinct feeling that there is none or they ignore the poor intern.

@STMappDev All excellent points.


Jobs had the intestinal fortitide to pull back hard on marketing's reigns and force Snow Leopard to be a bug fix release against Leopard. We need a Snow Leopard of Xcode (including and especially the OSs)


Seems that others feel simiar and Snow Leopard has become the stuff of legend and myth:

https://9to5mac.com/2018/01/31/snow-leopard-became-reliability-legend/



We need a "Snow Xcode"...


(and a Snow storm in High Sierra... and iOS...)

I wish I can at the least be able to run the xcode.

After spending 1500 on a new macbook, spending hours on setting it up, xcode won't even start after an osX update.

Reinstalling won't help.

What a piece of crap.

I thought MS was bad, this is simply worst....

It wont even start. Productivity == 0;

I work on XCode 9 from first beta, at now i use XCode 9.3 beta 2, but not happines yet 😉

So many bugs come to released 9.2, but also have new bug in the 9.3, for example:

- XCode loose Simulator connects and stuck on find it...

- XCode eat cpu for reload IBDisignable views

- XCode doesn't cure bug with Indexing project stuck (Any helper with tell me about recreate xcproj go to the some forest, because it big project and so many settings doesn't be rewrited from scratch)

- XCode slow compile project on Core i7 2.3, 16GB Ram and pci-e SSD 🙂))) (Create disk on ram for mount DerivedData folder help me to get workaround for indexing of project - see previouse bug)


I know about Apple programmers hard work, but sometimes i think Apple doesn't have programmers at all.

Want to add my voice to this. Every week, I end up wasting hours wrestling with Xcode instability. Autocompletion seems to stop working randomly. Sourcekit is a mess.


Come on Apple - please please get Xcode fixed.

Xcode 9 is Unacceptable
 
 
Q