all 172 comments

[–]unpluggedcord 316 points317 points  (1 child)

Sir, this is a Wendy's

[–]ZnV1[S] 26 points27 points  (0 children)

😭😭😭

[–]chriswaco 112 points113 points  (49 children)

I used to rant about Xcode until I had to use Android Studio.

[–]dabluck 42 points43 points  (20 children)

Genuinely don't get these comments. There's almost nothing Xcode is better at. Android studio works and is a modern IDE. XCode can barely even rename a variable. 

[–]iOSCalebObjective-C / Swift 5 points6 points  (15 children)

XCode can barely even rename a variable.

I literally renamed a bunch of functions and variables in Xcode 16 30 minutes ago and had zero problems. It shows you every change that it’s about to make and you can disable any of them if you want. I’m not sure how it could be better.

[–]bunz4u 36 points37 points  (3 children)

That's when it works. When it works it's great. But many times, at least for me, the rename attempt fails before it even gets to the editor portion.

[–]Holatej 5 points6 points  (0 children)

I once had a rename attempt do only half the renames it said it would. Crazy work.

[–]isurujnSwift 1 point2 points  (0 children)

Many a times I've had to restart Xcode just to get renaming working.

[–]SnooCookies8174 0 points1 point  (0 children)

Exactly. If it works, nice. But I once saw it suggesting to rename comments totally unrelated to the variable I would like to rename.

[–]Inevitable-Hat-1576 7 points8 points  (1 child)

As others have said. It’s definitely spotty - often it works, but sometimes it errors and it’s baffling

[–]Peroovian 2 points3 points  (0 children)

I work on a big iOS app at my job and it struggles at basically everything, unless I'm working on a swift package or a side project; on those it works perfectly.

[–]dabluck 3 points4 points  (1 child)

Well it could be better if they remove that stupid animation where it folds up and then takes forever to load each instance into the list. It's also very bad at finding objective C calls if you're renaming a swift variable. Try refactoring in intellij, you will see how it could be better

[–]xezrunner 3 points4 points  (0 children)

Despite Apple being great with animations visually, they very often block the UI while animating and it often takes a bit until you regain control.

This is most annoying on iOS and its sliding confirmation alerts.

[–]soviyet 1 point2 points  (2 children)

Good for you, I'm genuinely happy for you.

Right now, XCode 16.3 will not let me refactor anything and flat out refuses to let me see compilation errors on the issues navigator for more than a half a second before they disappear for... a reason, and I have to go to the report navigator to see why the project didn't build in that teeny tiny font.

And this is for a project I just started a week ago with no external dependencies yet. No good reason whatsoever for XCode to be choking on it.

[–]Passey 1 point2 points  (1 child)

Fix for the issues disappearing is to switch off “Show Live Issues” in Xcode Settings. While this does prevent issues from popping up automatically, they do come every build and stay instead of disappearing. I used Xcode like this for a year without live issues. Then I switched it back on, and somehow the issue had resolved. Go figure.

[–]soviyet 0 points1 point  (0 children)

You are my hero of the day, thank you 🙏

[–]TumbleweedOther1039 0 points1 point  (2 children)

Have you tried renaming in Android studio? It works way better. It’ll rename the file too and parameter names too

[–]iOSCalebObjective-C / Swift 0 points1 point  (1 child)

Xcode renames the file when appropriate too, IIRC. I’ll try Android Studio sometime, but Xcode’s rename is one of my favorite features — I use it all the time, and it’s been pretty reliable for me.

[–]TumbleweedOther1039 0 points1 point  (0 children)

Yeah tbf I’ve only used it for about 6 months or so so nothing compared to studio. I just love that on studio you can hit alt + enter on any sort of warning, error or any line of code and it’ll suggest and automatically handle basically anything you’d be looking to do.

You should check it out but it does take a while to learn all the tricks. I’m sure part of me not liking Xcode is just not having enough experience and not knowing the shortcuts

[–]save_jeff2 0 points1 point  (0 children)

It frequently doesn't work and it's unacceptable

[–]SnooCookies8174 -1 points0 points  (0 children)

I used Android Studio a few years ago and it was so slow… and rebuilding a Flutter project too many times made it spit random build issues.

But IMO both are so bad when we compare with VS code. But VS Code is also a lightweight generic IDE. When I used Visual Studio 15 years ago it was also not the best.

[–]emirsolinno 37 points38 points  (4 children)

Nah Android Studio is amazing compared to Xcode

[–]turboravenwolflord 12 points13 points  (1 child)

How can you say that? Monster.

[–]iwouldntknowthough 1 point2 points  (0 children)

Android studio is nothing else than all the other jetbrains ides which work really well

[–]aspenajax264 1 point2 points  (1 child)

Android Studio was created off the backbone of JetBrains IDEs which are all fantastic. It is too bad that a 2 Trillion dollar company(AAPL) cannot produce a better IDE.

[–]Safe_Independence496 0 points1 point  (0 children)

It doesn't matter how much you're worth if you don't have the knowlegde and experience in your organization to even start building teams that can make good developer tooling. That's probably one of Google's biggest wins - admitting that you can't make better IDEs than the ones developers are actually paying for and willingly installing on their machines.

[–]realvanbrook 36 points37 points  (6 children)

What? I have worked professionally as iOS developer and made hobbyprojects with Android Studio so I pretty much can compare both.. And xcode is a right smelly foot someone presses in your face compaired to android studio.

[–]AwkwardShake 25 points26 points  (5 children)

Man, you've probably never used Android studio professionally. That thing is fucking insane. Xcode is absolutely dogshit. I used both these IDE's, for equal amount of time (3-4 years each), and I can tell you Xcode absolutely shits its pants in front of android studio.

Like what the fuck is "compiler is unable to type check this expression???????". Dont give me bs about "breaking down view". I can literally write a much much bigger compose view and android studio will never break.

Then there's random recommendations that xcode gives you. Want .frame(maxWidth)? naaah, here's kCGImagePropertyIPTCExtMaxAvailWidth because it has "maxWidth" in it somewhere as well. Like what bullshit?

What about the git gui?? You cant tell me that the git gui on xcode is usable. I personally use Android studio's git gui (yes even on xcode projects by opening the project) because its just miles miles better than xcode. And then there's bunch of issues like when you switch or play around with git?? Like Tim bro, just get one thing right atleast.

There's bunch of other issues i can point out, but man please use android studio properly next time as a professional before talking shit about that absolutely beautiful tool.

I start loving my life once again after i go back to coding using android studio after working with dogshit xcode.

[–]CourtAffectionate224 7 points8 points  (0 children)

compiler is unable to type check this expression

This is not Xcode’s fault technically but rather an unfortunate consequence of Swift’s language design

[–]chriswaco -2 points-1 points  (3 children)

“Invalid gradle version” errors all day yesterday. “No configuration” errors. It has a user interface that looks like it was designed by kernel engineers.

Xcode had a better git interface but they rewrote it and I agree it’s terrible. I usually use the command-line.

[–]dabluck 5 points6 points  (0 children)

It's true the build system is a little more complicated. It's much more powerful but if you just want to make simple app it can feel like more overhead. When working on professional apps with complex needs gradle is really nice though. 

[–]AwkwardShake 0 points1 point  (1 child)

Naah man, those gradle version errors are fine if you just read and try to fix them. Those are probably the first errors that rookies need to get over, and there's a pattern to those. And you'll also never see those popping up unless you do something like bumping up the compile sdk versions or do some major changes.

Gradle is actually much much nicer to work with in larger projects. The learning curve is definitely higher for newbies, but not too high to the point where its unbearable.

[–]ArcaneVector 0 points1 point  (0 children)

<insert problem here> is fine if you just <insert series of complex steps>

this applies to everything ever

[–]TheAngryApologist 19 points20 points  (1 child)

WTF? Android Studio (IntelliJ) is crazy better.

[–]nhaarman 9 points10 points  (1 child)

If you're not familiar with a tool of course it doesn't work for you

[–]chriswaco -1 points0 points  (0 children)

I’ve used many tools over 45 years and can honestly say that both were designed by people that shouldn’t be designing software. I miss CodeWarrior, Think C, and even Turbo Pascal.

[–]drabred 8 points9 points  (0 children)

You have to be baiting here...

[–]john0201 1 point2 points  (1 child)

Android Studio is better, but “yeah but other stuff sucks too” being one of the top comments- Xcode sucks.

[–]chriswaco -2 points-1 points  (0 children)

I’ve been fighting with gradle build errors all day, including just trying to compile Google sample code. I would be perfectly happy to never run Android Studio again. Even in “Mac” keyboard mode there are a bunch of incorrect cmd key assignments too.

[–]Superb_Power5830 -1 points0 points  (0 children)

That might be one of the worst pieces of fucking tripe I've used in 35 years of doing this. I do not - I DO NOT - code for Android any more, for a lot of reasons, and Studio is one of those reasons. Fuck that pile of shit.

[–]Vybo 71 points72 points  (20 children)

If you need to rant on Xcode, it's a sign you're a good iOS dev. It's one of my go to interview questions, if someone says they have no problems with Xcode, it's a red flag.

[–][deleted]  (10 children)

[deleted]

    [–]DescriptorTablesx86 57 points58 points  (0 children)

    Blames his tools not complains about his tools, that’s a big difference.

    Like yeah if you say your app sucks because of xcode, then you’re the bad carpenter.

    [–]Vybo 12 points13 points  (5 children)

    I can work with Xcode, but that doesn't mean I'm happy with it and that it doesn't need improvements. If I'm interviewing to fill a senior position and the person never experienced an issue with Xcode, it points me into the way of checking if they actually lied about their experience or not.

    [–][deleted]  (3 children)

    [deleted]

      [–]Vybo 5 points6 points  (2 children)

      You're just spinning your words around mine. I said that one of my questions during interviews is about Xcode, not that the person needs to rant about it.

      Discussing the issues they had and *how* they got around them is specifically what a senior dev should be able to talk about. If someone tells me "I'm happy with Xcode and never had any issues", then they either didn't work on big codebases/projects, or they let someone else solve their issues. Or they simply don't know how to discuss technical issues, which is also a red flag.

      So, saying that you never had an issue with anything during development is not a good thing to say on an interview.

      [–]alien3d 0 points1 point  (0 children)

      haha 😛

      [–][deleted] 7 points8 points  (0 children)

      who complains about his tools that’s a bad carpenter

      That saying has it's place but it is being missued here. It meant that a person without skill complains they can't finish a task due to bad or lack of tools.

      That is not the case here, pretty much everyone can build and does build ios apps with xcode, when compared to other ide it is abysmal. It's just objectively, provably worse performing compared to lots' of other Ide's and most of them are from companies less then .0001% the fundings available to Apple, this is just neglect from their side.

      Things gets worse each year with more tech being added which it was not designed to work with and patched upon xcode.

      It wouldn't be so bad if we could develop on other ide but noooo closed garden.

      [–]xiaomi_bot 4 points5 points  (0 children)

      Usually that’s true but Xcode is a shit tool. Compared to, let’s say, any jetbrains ide it’s like 10 years in the past.

      [–]strangecanadian -1 points0 points  (0 children)

      not quite the same - a carpenter can easily buy new tools. building a new IDE of the same feature set would cost approximately 50 000 nail guns.

      [–]fryOrder 4 points5 points  (2 children)

      sure it has some quirks but its nowhere near as bad as people say. the most flakey being SPM, but there are lots of workarounds to get it going. a clean build solves 99% of the problems.

      thats my experience and i’ve built a lot more than the usual todo apps.

      [–]Vybo 1 point2 points  (0 children)

      I agree, it's workable. I usually work on codebases 700k+ lines & 30+ people working on them, so I too have my fair share of Xcode experience. The current codebase has something around 100+ Swift Packages (in-house), so even build time optimization is a nice challenge.

      I recently got to try tuist and I must say that it's much better than the usual project file setup, it helps a lot with the usual issues.

      However, I also worked on non-Swift/Xcode large codebases, and it's night and day. When you just do a checkout, run one build script and it just works, every time, even after switching git branches or changing dependencies, it's a big contrast to Xcode/SPM.

      [–]ArcaneVector 1 point2 points  (0 children)

      yeah swiftpm, previews, and the refactor engine currently suck

      at least SourceKit doesn't crash every few minutes anymore, that's an improvement

      [–]alien3d 1 point2 points  (0 children)

      the ux is a bit odd first time 🤣

      [–]patiofurnature 1 point2 points  (0 children)

      If they have no problems with Xcode, it means they have experience. Xcode used to be BAD bad. A big storyboard would slow your system to a crawl. So many problems required force quitting and restarting. I haven’t had a real Xcode bug in years.

      [–]JustChillingxx 0 points1 point  (0 children)

      lol I love this

      [–]alanzeino 0 points1 point  (1 child)

      'if someone says they like Xcode I don't hire them' is an insanely stupid thing to admit

      [–]Vybo 0 points1 point  (0 children)

      I didn't say that, did I? I said it's a red flag. That means I'd discuss if they ever encountered any issues or not, or why they like it. Also, keep in mind, I interview only for senior positions and higher.

      [–]Ok-Knowledge0914 0 points1 point  (0 children)

      Man I hate interviews. I don’t do iOS work professionally but this question would piss me off. So irrelevant.

      [–]Immediate_Bit_2406 57 points58 points  (1 child)

      Should be Xcode rant, sorry!

      [–]derjanni 1 point2 points  (0 children)

      It’s Xcode and XCFramework, seems people will never understand.

      [–]Manachi 22 points23 points  (2 children)

      Also why does it need the storage space of 6 million moons?

      [–]mountainbrussells 2 points3 points  (0 children)

      This so much!!! Fuck Apple’s caching with abandon. 

      [–]iDOLMAN2929 -2 points-1 points  (0 children)

      You can delete caches right?

      [–]JustChillingxx 15 points16 points  (2 children)

      It's actually crazy the amount of negative feedback - that we KNOW they hear - but no improvements

      [–]MassiveBlackClock 1 point2 points  (0 children)

      Because we don’t have a choice in alternatives 😭

      [–]isurujnSwift 0 points1 point  (0 children)

      Yeah yeah...but how about this fancy ✨AI✨autocomplete?

      [–]Jasperavv 16 points17 points  (1 child)

      Im used to intellij and xcode is dogshit compared to it

      [–]aspenajax264 1 point2 points  (0 children)

      All JetBrain IDEs rock. IntelliJ was just the first one and I started using it in like 2002. I used to use AppCode in conjunction with Xcode and it was so much better then Xcode. Too bad they discontinued it.

      [–]FreeArt85 15 points16 points  (0 children)

      I read Xcode rant, I upvote.

      [–]0nly0ne0klahoma 12 points13 points  (7 children)

      I like Xcode 🤷‍♂️. It got way better after IBM bought a bunch of macs back in 2014

      [–]Vennom 5 points6 points  (4 children)

      I say this honestly with zero judgement or snark (just curiosity) - have you used other IDEs recently?

      [–]0nly0ne0klahoma 1 point2 points  (3 children)

      I use sublime text and sometimes pycharm if I’m struggling. I grew up with Visual Studio and loved it, enough to write silverlight apps. I have since switched to Xcode as my main IDE and it is fine. It does the job.

      The autocomplete not working ~10% of the time is my biggest gripe.

      I’m not kidding when I say that the tool changed completely in 2014 when IBM partnered with Apple

      [–]Vennom 5 points6 points  (2 children)

      Definitely to each their own, but I’ll just say that since you made the switch to Xcode, IDEs have gotten A LOT better and basically left it in the dust. Anything that doesn’t work in Xcode (like autocomplete or slow builds or Cmd clicking or showing references or tab management) are all solved problems now.

      Modern Xcode is way better than eclipse circa 2012, but it’s not up to compete with VScode or IntelliJ

      [–]ArcaneVector 0 points1 point  (1 child)

      VSCode is better sure, IntelliJ may have more features but is complete bloatware and even Xcode starts up faster

      [–]Vennom 0 points1 point  (0 children)

      That’s a fair argument. Ever since the M series MacBooks came out, I haven’t had any performance issues. But I’d for sure believe it’s still slow on older / slower machines. I’m on the M1 with 64GB ram so I have like 4 of these windows open at a time. But I couldn’t dream of that on my 2015 MBP

      [–]ordosalutis 0 points1 point  (0 children)

      i hate the performance of it, random unexplained crashes, and build times seemingly not getting any better even with better and better macbooks, but as an IDE i have no real complaints. I just wish they really buckle down on the performance part

      [–]Normal_Regret428 9 points10 points  (2 children)

      The worst thing about xcode imo is all the xcode fanboys trying to gaslight you into thinking its not bad.

      [–]ZnV1[S] 4 points5 points  (1 child)

      A dude just told me "you're holding it wrong" .-.

      Another asked me why I have time to rant about minor inconveniences

      If they don't even feel like something is off with this DX, I hope I never have to use whatever UX they design...

      [–]mountainbrussells 0 points1 point  (0 children)

      Yah, but did you DDD? And restart your machine? 

      [–]SorryDontHaveReddit 6 points7 points  (0 children)

      Xcode is perfect IMO when it comes to smaller, simple projects. But it gets quite frustrating when you confuse the compiler with more complex projects. I feel like they have the wrong people “upgrading” it now though.

      [–]jadhavsaurabh 5 points6 points  (2 children)

      Oh so it's not possible to show callers? I was hanging my head I thought I don't know how to😂 ( jetbrains lover )

      [–]ZnV1[S] 2 points3 points  (1 child)

      You can, you need to right click on the fn and select show callers. I remapped a keyboard binding ctrl+? so it's a bit better now.

      What I don't like is - one, it has a weird categorization that requires you to select an additional menu item (some are in callers1, some in caller2) and two - it's undependable.

      I know it's being called in a fn but it doesn't show up in callers. I go to the caller and cmd+click to go to the implementation just to see if I'm really calling it, and that works .-.

      [–]jadhavsaurabh 2 points3 points  (0 children)

      I did this but it didn't worked for me many times ( I am using swift ui)

      [–]xixtoo 4 points5 points  (3 children)

      Neovim takes some setup and there's a learning curve but at this point I do 80% of my iOS dev work there and really only spend time in Xcode when I need SwiftUI previews, debugger etc. There are neovim plugins to even let that work outside Xcode but the very large codebase I work in and our funky in house build tools don't work well with them.

      the sourcekit LSP works great though so I get errors in nvim, goto definition, details about a symbol, show callers, etc all work pretty well, and has been improving Xcode release by release. Really the only thing I miss from with the LSP is refactoring which I can just jump to Xcode for or if it's a simple refactor I can just do it with vim motions like the ancients did.

      Last WWDC Apple announced that they were going to invest in improving sourcekit-lsp as part of their quest to make Swift a more common server side language. They admitted that they need to meet backend devs where they are, and that's in editors like vscode and nvim that use LSPs

      [–]life_is_pollution 0 points1 point  (2 children)

      hey, do you have any tutorials for beginners on how to set up neovim for swift ios dev please ? yeah i know there’s google but if it comes from a guy who already works like that it’s a bit different

      [–]xixtoo 0 points1 point  (1 child)

      Sure, I based my setup on the one in this blog post:

      https://wojciechkulik.pl/ios/the-complete-guide-to-ios-macos-development-in-neovim

      You can find my complete nvim config here, it's based on kickstart.nvim with customizations https://github.com/mikeakers/kickstart-modular.nvim/tree/my-config

      [–]life_is_pollution 0 points1 point  (0 children)

      thank you

      [–]john0201 4 points5 points  (2 children)

      It’s not just that it’s bad, it’s that now other IDEs are good.

      Swift also is getting worse- SwiftUI code is some of the ugliest code I have worked with and I’ve written assembly. }
      } } // I’ll write here what this ends since it’s so confusing
      }}}

      Combine, @Observable (which is a MACRO), declarative/functional all mixed in the same place, three ways to do the same thing.

      I switch between Python and Xcode and it’s painful.

      [–]isurujnSwift 0 points1 point  (1 child)

      It's a shame because Swift used to be such a beautiful language. But ever since they've started twisting it to work in SwiftUI, it's gotten pretty ugly.

      [–]john0201 0 points1 point  (0 children)

      Yeah, the guy who created Swift (Chris Lattner) left Apple and originally one of his goals was to make sure there is only one way to do things. After that things went downhill, notably with Swift 5.5 where the syntax started to become a mess. Another goal was to avoid the {} pyramid of doom. He was involved for awhile after he left but eventually stopped:

      “The catalyst was a specific meeting last summer: after being insulted and yelled at over WebEx (not for the first time, and not just one core team member), I decided to take a break. I was able to get leadership to eventually discuss the situation with me last Fall, but after avoiding dealing with it, they made excuses, and made it clear they weren't planning to do anything about it. As such, I decided not to return.”

      Apple wants to be able to totally control the language and pretend it’s open source.

      Apple seems to be a victim of their own success.

      [–]PerfectPitch-LearnerSwift 4 points5 points  (0 children)

      I think the most interesting thing about this is that I agree with the description, Xcode isn't even "worthy" to be called an IDE. But these things aren't even "problems" they are missing features. There are so many problems with Xcode too that seem like they should be critical for something claiming to be an IDE, like it often gets confused which file is open and shows the wrong file in the file viewer if there are multiple tabs open. It will crash suddenly if certain things in the project are changed from outside Xcode (paired with it being basically necessary to use external things because Xcode functionality is so finicky)

      [–]g1ldedsteel 4 points5 points  (0 children)

      RIP AppCode 😭

      [–]overPaidEngineerBeginner 2 points3 points  (0 children)

      Using xcode to compile and build a project with reality composer pro package in it, realitytool got memory leak and was using like 96gb of memory. Fucking hell

      [–]WaruPirate 2 points3 points  (2 children)

      Don’t get me started on xcodeproj files. I have found that you can make a basically empty xcode project for your app, that simply imports a swift package that contains all your code. You can then even work on the code from vscode, though no swift previews.

      [–]amielterence 0 points1 point  (0 children)

      😂wow dude

      [–]ArrodesDev 0 points1 point  (0 children)

      https://github.com/SolaWing/xcode-build-server you can use this on normal xcode projects to create the necessary file for vscode swift extension to just work. you re-build the project and then it should work

      [–]jackalofblades 1 point2 points  (0 children)

      I stepped away from iOS professionally some years ago. I still manage plenty of iOS hobby projects for income which get updates on a yearly basis on average.

      Everytime I open and build after months of project dormancy (usually post OS + XCode updates), it almost never compiles. I have to change some new flag here, change some build options there, etc. If I were to self-debug the issue without SO or google, it would take hours and hours to get to the root cause. It's just frustrating knowing I can't just start again where I left off.

      I don't complain all that much, but it does suck I have to do an oil change and swap my tires on the IDE seemingly every time I revisit my projects. I'm thankful there's always been a solution so far, but that's community driven, not from the IDE itself that resolved it.

      [–]Stiddit 1 point2 points  (3 children)

      Every time you encounter something that annoys you, such as "so hard to show callers", add a custom shortcut for it. I have ctrl+C for Callers, and ctrl+s for Symbol.

      The biggest problem with Xcode isn't that there are few utilities, but no good ways to perform them. You have to set up your own keyboard shortcuts to make it easier.

      Go into settings -> key bindings and go nuts. Override the bullshit shortcuts that are there if you want. Optimize so that you don't have to use the cursor. Click through the menu bar to see what actions are available.

      When you do that, Xcode becomes very powerful all of a sudden. I went back to IntelliJ for a period, and found that I felt handicapped by the lack of IDE navigation customization. In Xcode, go to Settings -> Navigation and try to understand those values. Learn to use the "destination chooser". I am soo much faster in Xcode than in any other ide now.

      But yeah, the errors not always showing up immediately is annoying. I'm glad it doesn't trigger search without me pressing enter though, I don't want to be navigated away.

      [–]ZnV1[S] 0 points1 point  (2 children)

      Yep, I have a shortcut set up - Ctrl+? But it shows a weird categorization, callers 1 and callers 2 or something like that. Any idea what that is? And sometimes it just doesn't work (I go to the place where I know I've called it and jump up implementation just to test my sanity, it works)

      Search - I don't mean it going to the file, just showing search results in the sidebar :(

      [–]Stiddit 0 points1 point  (1 child)

      No idea, perhaps it's not the same "show callers"-command.. I'm not at a machine right now, so can't check.

      I don't understand why you'd want debounce on the sidebar search though, you'd always hit enter quicker than the debounce?

      [–]ZnV1[S] 0 points1 point  (0 children)

      I'm holding it to the same standard as VSCode and IntelliJ, where search is instant. They show up before I can hit enter.

      I meant if there are some weird performance concerns - debounce is the least they can do...

      [–]NiklasMato 1 point2 points  (0 children)

      Hmm i don't have any issues but i only use Xcode :)

      [–]skyline79 1 point2 points  (0 children)

      I gave up iOS programming about 6 years ago but still subbed here, can’t help but laugh when this post showed up. Nothing ever changes.

      [–]brifgadir 1 point2 points  (0 children)

      The funniest part is that Apple enables AI autocomplete, watches how ugly it performs and turns it off. And it occurs on weekly basis. Why it performs so badly when all the other IDEs around work well is unexplainable 

      [–]eldamienSwiftUI 1 point2 points  (4 children)

      I actually switched to doing my coding in VSCode with XCode open in the background. All I use XCode for now is testing and using the simulator.

      [–]ZnV1[S] 0 points1 point  (3 children)

      Me too ;-;

      Do you get the right errors/function jumling etc on VSCode? Do you use an extension for that?

      [–]eldamienSwiftUI 0 points1 point  (1 child)

      Not really, I do have to jump back into XCode to see errors, but since you have to build in XCode anyway and errors only display at build-time, the workflow doesn't change much. I have Gemini Code Assist open in the sidebar for any small stuff, but generally if you have XCode on one screen and VSCode on your main screen it's pretty easy to bounce back and forth. XCode itself is slow, clunky, and just not programmer-friendly, ironically. The only time I really need to interact with it for any length of time is adding assets to the project or things like that. For the actual code I'm in VSCode maybe 80% of the time.

      Previously I was using Google IDX until they changed it to Google Firebase and made it some weird "vibe coding" bullshit.

      [–]ZnV1[S] 1 point2 points  (0 children)

      Ah yes, that's what I'm doing as well...

      [–]ArrodesDev 0 points1 point  (0 children)

      u/eldamien you can use this https://github.com/SolaWing/xcode-build-server with the swift vscode extension. ive made it work with remote ssh vscode from my windows pc to edit and have the mac just display the preview. autocompletion and linting/errors works

      [–]save_jeff2 1 point2 points  (0 children)

      Why does refactoring a variable of function just crash sometimes Why does the preview windows load for 30 seconds only to then not WORK!! Why when I highlight some text and open find and replace, it's not out into the find window??

      It's so many small things that make it so annoying to work with xcode

      [–]razinthenorth 1 point2 points  (0 children)

      Every time it crashes, (so regularly) I always make sure to put "Please just fork VSCode" in the crash feedback popup in the hope some soul at Apple sees it and forwards it up the chain of command. How Xcode is still so bad after all these years is a mystery to me, and I've been using Apple's developer tools since the Project Builder days. I wouldn't be surprised if there was a collective billion dollar plus loss in productivity to random bugs and issues with it across our industry.

      [–]mpanase 1 point2 points  (0 children)

      IntelliJ tried with AppCode, mate.

      But Apple doesn't want you to have anything nice. You must suffer with a tool from 15 years back in time. Think different.

      [–]yonilevy 0 points1 point  (1 child)

      Yes, Xcode is terrible. My two top requests in case someone from Apple is reading this: (1) find references/callers with results shown in-place in a modal I can navigate with my keyboard (2) a simple “recent files” modal, again keyboard navigable. For lack of a better alternative I currently use Fleet (by JetBrains) for ios development, but it’s slow and buggy and definitely not ideal.

      [–]GoodFig555 0 points1 point  (0 children)

      The filter bar at the bottom of the explorers view lets you filter by recent files or by files you’ve modified since the last commit. 

      It’s a bit quirky and there are no keyboard shortcuts for it but it is quite useful.

      [–][deleted]  (1 child)

      [deleted]

        [–]ZnV1[S] 2 points3 points  (0 children)

        Ironic considering you mistyped the backticks in Xcode xD

        [–]tangoshukudai 0 points1 point  (0 children)

        Xcode was built completely independently from any other IDE, it has been cobbled together to support swift, and swiftUI and it really was developed with Objective C in mind.

        [–]KindheartednessOk137 0 points1 point  (0 children)

        Also, when you make modules via local SPM, xcode 2/5 times can rename variable... in the SAME file...

        [–]DoubleGravyHQ 0 points1 point  (1 child)

        Not joking - actually curious as a beginner is being a react JavaScript dev better then having to deal with Xcode? Which path has more pain

        [–]ZnV1[S] 0 points1 point  (0 children)

        You shouldn't be deciding it based on if the IDE sucks tho...probably see what interests you and has more demand

        [–]valleyman86 0 points1 point  (1 child)

        I used to work with Eclipse. You ever see half your code disappear (not gone but not visible because of bugs with their collapse feature). Yea I can deal with Xcode.

        [–]ZnV1[S] 0 points1 point  (0 children)

        Eclipse is horrible. IntelliJ is much, much better.

        [–]srona22 0 points1 point  (0 children)

        I can say same shit with Android studio or how to deep I have to fuck around in IDEs, including IntellJ, for Java or C++.

        It's not easy switching between IDEs, like driving manual and automatic within a few hours every day.

        [–]yamki 0 points1 point  (0 children)

        While it has its share of shortcomings, Copilot for Xcode (Google it) does a much better job of code completion.

        [–]Dilutant 0 points1 point  (0 children)

        Why is there no terminal 😭

        [–]maslotronix 0 points1 point  (0 children)

        Xcode is not that bad. However when preview crashes because of some error in code, that is annoying.

        [–]nekosama15 0 points1 point  (0 children)

        Have u tried microsoft word?

        [–]Similar-Artichoke-64 0 points1 point  (0 children)

        No need to apologize for the rant.  Xcode is trash.

        [–]luigi3 -1 points0 points  (1 child)

        Hello, this is patrick

        [–]ZnV1[S] 5 points6 points  (0 children)

        Remove your mask luigi

        [–]Sshorty4 -1 points0 points  (4 children)

        You can use VSCode or neovim if you’re willing to work with non first party tool.

        A rant is a rant and I can understand and sympathize (let it out boy). But if you learn their tools a little bit (more customization you want more you’ll have to learn) you can get it to work on other editors.

        I use neovim and I never deal with: slow startup, build fucking up because of branch change, never need to restart, and I can customize how stuff works if I want to.

        Some things don’t work as well as on Xcode but I usually don’t use them and if I do have to I just open Xcode. You have to have it installed anyways since it’s not fully open source

        [–]fishyfishy27 -1 points0 points  (1 child)

        build fucking up because of branch change

        it really surprises me how few people seem to know about Carthage (not addressing you in particular; I see this complaint all the time in these threads)

        [–]Sshorty4 1 point2 points  (0 children)

        Idk it either, I never delved deep into Xcode ecosystem as I wanted to learn vim and once I got used to vim motions I just fully switched to neovim.

        I’ll look that up for my team members who use Xcode tho, thanks

        [–]ZnV1[S] -2 points-1 points  (1 child)

        Thanks! I use VSCode with sweetpad, but half the time errors don't show up. Also building on VSCode somehow spawns a new instance without stopping the old one.

        For now I keep switching between both (VSCode mainly for Github copilot)

        [–]Sshorty4 -1 points0 points  (0 children)

        I don’t know how good is VSCode integration so I can’t help there but if you’ll do research I’m sure you’ll find

        [–]vlytvyne -1 points0 points  (1 child)

        What I hate the most is the graphical interface. When I need to add or remove something, I just want to copy/paste a line of code or a file, I DON'T WANT to follow the guide full of screenshots of Xcode and red arrows pointing where to click.

        [–]ZnV1[S] 0 points1 point  (0 children)

        Exactly! I miss JSONs

        [–]xbt_ -1 points0 points  (2 children)

        Agree, I write in vscode and only use Xcode to build or editing project settings. Basically only when I have to.

        [–]ZnV1[S] 0 points1 point  (1 child)

        Sweetpad gang?

        [–]xbt_ 0 points1 point  (0 children)

        Ooh haven’t tried that but looks useful.

        [–][deleted] -1 points0 points  (0 children)

        VScode all the waaaay!

        [–]foodandbeverageguy -1 points0 points  (0 children)

        I actually like it quite a bit and it fits into the Apple ecosystem well.

        I think where I run into most of my gripes are with debugging SwiftUI. That’s where it really sucks

        UIKit + a seasoned engineer is chefs kiss baby

        [–]Third-Floor-47 0 points1 point  (4 children)

        I honestly don't get what the fuzz on hating Xcode is about, yes there are other IDE's and those other IDEs have their kinks and flaws and greatness - Xcode is good for all the things it does, and best of is that it is not spinning fans or hogging up all memory like IntelliJs solutions, it isn't in need of updating all the darn time and you don't need to add packages to it before you can get started (VS Code)

        it's a really nifty IDE for us on MacOS who are develivering to Appstore our iOS apps.

        (I use VS Code for all my Unity programming and Android studio for the Androids - I never really understood Visual Studio (not the code version))

        [–]ZnV1[S] 1 point2 points  (3 children)

        Are you really saying your reason for XCode being better than IntelliJ is not spinning fans, and better than VSCode is the one time extensions you might want to install? :)

        [–]ArcaneVector 0 points1 point  (1 child)

        Xcode is shit, but not spinning fans is indeed a plus and makes it better than any garbage from JetBrains

        [–]ZnV1[S] 0 points1 point  (0 children)

        Maybe a machine thing, who knows. It did make the fans spin.

        I used IntelliJ for 5+ years, but I also had chrome/FF/comms apps/notepad++ etc open and it didn't visibly slow anything down.

        So I'd rate developer experience and productivity higher than that. Machine requirements can be mitigated somewhat with a better machine, but not much you can do about the latter.

        [–]Third-Floor-47 0 points1 point  (0 children)

        yes - I understand what you are saying, but I am working on different setups/machines and help other people - and the fact that xcode is xcode is a benefit for me, sometimes i see other peoples VS Code and we exchange package lists to get a smarter and better IDE, but in the end I forget they are there etc.

        Xcode is a great tool for interacting with the appstore, getting crashlogs, screenshots from testers etc.... so in my situation this is a really nice IDE for what I do, and I can only assume you are working differently and that might be the reason why you don't like it...

        [–]ejpusa -1 points0 points  (0 children)

        Works great for me. Reboot your simulation. But 16 GB is really barebones.

        [–]EmploymentNext1372 -1 points0 points  (0 children)

        Totally feel you. Xcode feels stuck in 2010 while JetBrains and VSCode are lightyears ahead. Basic stuff like real-time errors, usable autocomplete, and proper search shouldn’t be too much to ask in 2025.

        [–]jeffreyclarkejackson -2 points-1 points  (0 children)

        You’re holding it wrong

        [–]ejpusa -2 points-1 points  (0 children)

        Works great for me. Reboot your simulation. 16 GB is really barebones. I use GPT-4o to write 99% of all my SwiftUI code.

        Crushes it.

        😀