There is some of functionality in macOS that is accessible just by C code, but for most of stuff involving window will be ObjectiveC code. It's not a lot of amount of code, you can easily wrap it in C interface, just like SDL or glfw does.
Technically all ObjectiveC code is compiled down to C function calls. So you can easily replace any ObjectiveC code with C code - it's completely doable. Here's example for iOS applicaiton in C: https://stackoverflow.com/questio.../how-to-write-ios-app-purely-in-c
It basically requires changing [obj method] calls to objc_msgSend(obj, methodSelector).
You will need good understanding ObjectiveC to do this correctly though.
For debugger without xcode your only choice is lldb in commandline. It can do everything that xcode can (as xcode does use lldb internally), but it will require learning bunch of lldb commands. Otherwise if you want GUI for debugger, Xcode will be your only choice.