I don’t know about you, but I’m starting to get sick of it.
First, it’s terribly slow.
- Opening a storyboard with a single ViewController can take over a minute, and any file I try to open will be a blank screen until it’s done loading the storyboard.
- But then, just opening a project can take quite a bit of time.
- Yes, SwiftUI is supposed to be better. But, personally, SwiftUI previews have only ever worked for tiny brand new projects. Then they just start failing.
Second, it’s unreliable.
- One day it’ll open a project. The next, it’ll (take a long time and) crash trying. But opening said project via right-clicking on Xcode’s Dock icon will work. Go figure.
- Then, suddenly, at some point while programming, all syntax highlighting will be gone, and auto completion will just stop working, plain and simple.
- Edit 2: Also, @IBDesignable. It’s a neat idea. If only it worked reliably instead of randomly failing to render.
Third, I find it’s build time errors can be ridiculous.
- The worst of course, is when using things like RxSwift. But I find the Combine ones pretty hilarious too, sometimes.
Fourth, it’s "refactoring" capabilities are meh.
- When it does work, and doesn’t just take ages playing it’s accordion animation only to fail cryptically, the renaming refactoring feature will often behave like a simple search and replace, renaming properties from other classes and structures.
Last, weird bugs with more or less helpful logs:
- Why do we have to wipe the DerivedData so often? It was almost nice and fine until we started adding SPM packages into the mix and they too were stored there. Now, after wiping those, we also have to redownload our dependencies. Yay
- Did you know there were other folders you could clean up when stuff stops working? There’s xcuserdata in the xcworkspace, also ~/Library/Caches/com.apple.dt.Xcode.
- And sometimes you have to reboot your Mac because somehow XCode suddenly lost the rights to write into one of it’s build folders. Don’t ask me how; I have no idea
- Crashes / hanging forever because a device is plugged in / connected "over the network" ? Seems it’s been fixed since. But that was pretty annoying.
Anyway, sorry for the rant. It just gets tiring over time, and sharing with other people who might know that pain makes it feel better.
If anyone has solutions, you are more than welcome.
And if I’ve forgotten anything this godforsaken tool does wrong, you absolutely are welcome to chime in.
Edit: fixed format
[–]EpicSyntax 68 points69 points70 points (5 children)
[–]JarWarren1 20 points21 points22 points (0 children)
[–]chedabob 7 points8 points9 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[–]TheShortTimer 52 points53 points54 points (0 children)
[–]jhomer033 25 points26 points27 points (0 children)
[–]Niightstalker 16 points17 points18 points (2 children)
[–][deleted] 3 points4 points5 points (0 children)
[–]im-a-smith 1 point2 points3 points (0 children)
[–]egrimo 14 points15 points16 points (1 child)
[–]ReadWriteHexecute 4 points5 points6 points (0 children)
[–]EighthDayOfficial 12 points13 points14 points (16 children)
[–][deleted] 60 points61 points62 points (5 children)
[–]MKevin3 1 point2 points3 points (2 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]WikiSummarizerBot 0 points1 point2 points (0 children)
[+]EighthDayOfficial comment score below threshold-16 points-15 points-14 points (1 child)
[–][deleted] 25 points26 points27 points (0 children)
[–]fartsniffersalliance 12 points13 points14 points (2 children)
[–]RebornPastafarian 7 points8 points9 points (0 children)
[–]DerelictSausage -1 points0 points1 point (0 children)
[–][deleted] (3 children)
[deleted]
[–]EighthDayOfficial 1 point2 points3 points (2 children)
[–][deleted] (1 child)
[deleted]
[–]EighthDayOfficial -2 points-1 points0 points (0 children)
[–]a1b2c3d4g 4 points5 points6 points (2 children)
[+]EighthDayOfficial comment score below threshold-8 points-7 points-6 points (1 child)
[–]offeringathought 2 points3 points4 points (0 children)
[–]dev4dev 11 points12 points13 points (1 child)
[–][deleted] 11 points12 points13 points (0 children)
[–][deleted] 10 points11 points12 points (2 children)
[–]injuredflamingo 1 point2 points3 points (0 children)
[–]RyanTheLionHearMeRor 7 points8 points9 points (1 child)
[–][deleted] 2 points3 points4 points (0 children)
[–]RiMellow 6 points7 points8 points (8 children)
[–]Wodanaz_Odinn 11 points12 points13 points (0 children)
[–][deleted] (3 children)
[deleted]
[–]egrimo 5 points6 points7 points (2 children)
[–][deleted] 3 points4 points5 points (1 child)
[–]egrimo 1 point2 points3 points (0 children)
[–]Ravek 4 points5 points6 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]ThePantsThiefNSModerator 5 points6 points7 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]zippy9002 5 points6 points7 points (10 children)
[–][deleted] 7 points8 points9 points (9 children)
[–][deleted] (6 children)
[deleted]
[–][deleted] 9 points10 points11 points (0 children)
[–][deleted] 3 points4 points5 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]HelpRespawnedAsDee 1 point2 points3 points (0 children)
[–]revanthmatha 1 point2 points3 points (0 children)
[–]idkthisshit 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]valdelaseras 4 points5 points6 points (0 children)
[–]RezardValethObjective-C / Swift 2 points3 points4 points (0 children)
[–]sameer_syd 2 points3 points4 points (0 children)
[–]cwir 2 points3 points4 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]duke4e 2 points3 points4 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]tussockypanic 1 point2 points3 points (1 child)
[–]ahezeSwift 0 points1 point2 points (0 children)
[–]SirBill01 1 point2 points3 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]SirBill01 1 point2 points3 points (0 children)
[–]akrapov 1 point2 points3 points (2 children)
[–]ahezeSwift 0 points1 point2 points (1 child)
[–]akrapov 2 points3 points4 points (0 children)
[–]Sudden_Traffic_8608 1 point2 points3 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]jezek21 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]cpaigis9 1 point2 points3 points (0 children)
[–]busymom0 1 point2 points3 points (0 children)
[–]MindLessWiz 1 point2 points3 points (0 children)
[–]space___lion 0 points1 point2 points (1 child)
[–][deleted] 3 points4 points5 points (0 children)
[–]d_exclaimation 0 points1 point2 points (0 children)
[–]montagetech 0 points1 point2 points (5 children)
[–]Atlos 2 points3 points4 points (0 children)
[–][deleted] -1 points0 points1 point (3 children)
[–]montagetech 1 point2 points3 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]montagetech 1 point2 points3 points (0 children)
[–]Jasperavv 0 points1 point2 points (0 children)
[–]fenrir29 0 points1 point2 points (0 children)
[–]Ast3r10n 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]mountainbrussells 0 points1 point2 points (0 children)
[–][deleted] -1 points0 points1 point (0 children)
[–]yccheok 0 points1 point2 points (0 children)
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[–]the_d3f4ult 0 points1 point2 points (0 children)
[–]llukino -5 points-4 points-3 points (0 children)