XCode is the worst. Many pieces of functionality are only exposed through XCode rather than via a command line API. This means that you're essentially tied to a UI, Visual Basic style; building artifacts on a headless CI server requires you to jump through all kinds of hoops like unlocking a keychain. Worst of all, XCode itself is buggy more often than it is not, leading to the common advice to "close XCode and delete your Derived Data directory".
You're stuck between manually modifying the (eminently non-human-readable) project files in an editor, in which case you can see what you're changing, or going through a ever-changing UI, risking accidental breakage. From the perspective of a Unix developer, it's a wonder anyone gets anything done on iOS.