Why to use Xcode

I just use both at the same time. Turn on "External editor" in Arduino prefs. Make a new project in xcode, doesn't really matter what kind, because you won't ever compile it. Add all Arduino sketches to the xcode project. Change their type to be C++ code files.

To use it, open the sketch you want in Arduino and open the same sketch file in xcode out of your dummy project. Type in xcode, command tab to Arduino and compile and upload. Arduino will show you where your errors are, go back to xcode to find and fix them.

Use each for what they are best at. Xcode for editing, Arduino for compiling, uploading, testing. Not a perfect solution, but I sure enjoy it.