Theoretically, sure! But that's an enormous effort. This is actually what the goal of GNUstep is and has been from the start, and I kind of doubt there's even a single codebase (apart from, maybe, example code) that will compile on both Xcode and GNUstep without major changes.
Edit: To be clear, GNUstep is something like 6 years _older_ than Mac OS X, so it's had plenty of time to catch up. The problem is really that these APIs are constantly changing and being extended. The goalpost is moving far too fast to ever meet it.
As far as I know they largely based this on Cocotron[1], without giving credit.
And of course it wasn't so much "giving up" (which sorta implies it was the difficulty of the task), but more "losing interest", because they discontinued Windows Phone, where they were behind Apple's iOS in terms of market share. In that context, getting iOS apps on their system is economically interesting.
On desktop, Windows is way ahead of macOS in terms of market share, so there isn't much of a point.
There was actually an official implementation of OPENSTEP for Windows NT. And later on, you could still get the runtime (called Yellow Box) via WebObjects for example. Not sure if it still exists anymore nowadays.
Edit: To be clear, GNUstep is something like 6 years _older_ than Mac OS X, so it's had plenty of time to catch up. The problem is really that these APIs are constantly changing and being extended. The goalpost is moving far too fast to ever meet it.