Is it the case that developers prefer to write API documentation over tutorial/implementation based documentation that is common with other platforms (mainly web)? I feel like this approach can be debated on its merits, because it definitely raises the entry level for newcomers.
I think part of it is that the barrier to entry on the web is much lower. I've developed in objective-c forever, along with any number of other languages and platforms, and there more power available to you, the more you need to understand the underlying architecture.
The web is about as abstracted from the machine as it gets. Add to that that web rendering engines and HTML, CSS, and even JavaScript are very, very forgiving, so it's just easier for someone new to get started.
I was actually excited about the first couple iPhones in terms of resource scarcity to programmers. Tons of people jumped into iOS programming and for the first time in a while (or for many, the first time ever) were forced to consider what a lack of RAM and an underpowered CPU meant, and I helped coach many people through the finer points of memory management, allocations, (even with ARC) and Big O algorithm considerations.
Finally, native desktop software is just more powerful, and their is so much more you can do with it (and so, much larger standard libraries, SDKs, etc.) File IO isn't something you consider much in JavaScript on the web. Neither are parallelism, race conditions, IPC, networking, OS resource allocation, long running processes, native drawing and rendering, and so on.
Desktop programmers need to consider all of this a lot, and so generally tend to have some experience before getting into it (or work with a mentor/co-worker with a high degree of knowledge at first, as happened with me even post-CS degree). So materials written for desktop development tend to assume a certain pre-existing level of software development experience, and aren't aimed at new developers.
Edit: as someone else said, Big Nerd Ranch stuff is pretty good.
On the bright side, much of what one learns in iOS tutorials transfers to OS X, even if it doesn't seem that way. The biggest difference IMO is the swapped priorities of windows and view controllers. On OS X, view controllers haven't done much until very recently and NSWindow is something of a cornerstone, since most applications use more than a single window. On iOS, it's all about view controllers and most apps use only a single UIWindow.
This makes me curious of what kind of demand there is for high quality desktop Cocoa tutorials and instructional material…
Yes! I have the same experience. I am not OS X developer, though a few times I wanted to make a simple app and on OS X it was not so easy task as to grab something like python (+qt, tk, wx, etc.) or electron.js .
Personally I think that OS X development needs a lot of introduction just to begin with and some APIs are tricky and "enterprisy" (though I believe it's easier to maintain in the long run). With iOS it seems to be much easier and way more resources.
I can only assume you never heard of WPF.
It was/is a great tech, but has MS used it in any of their own stuff besides Visual Studio and the discontinued Expression suite?
Cocoa/AppKit is used throughout macOS and all of Apple's own apps.
The last time I was in the Microsoft galaxy, WPF had been dogfooded in barely 2 of MS's own apps, Silverlight had been deprecated, and the new "Metro" and WinRT or whatever the new platform for tablet-like apps in Windows 8 and 10 was called, had all but killed WPF. Maybe someone who used to actively develop WPF apps can shed better light on its fate – I'd almost love to be wrong on this.
On the other hand, apart from having a vector-based UI (though I suppose they don't need a vector UI; having solved high-resolution displays better than Windows' scaling does) Apple's development technologies were already everything Microsoft wanted to be, and apparently admitted as such in their own internal emails. [1]
Indeed, to my knowledge pretty much the entire userland of macOS/OS X is in Cocoa, from the Dock to the Finder to the Automator, and even their Big Apps like Final Cut and Logic have been made with Cocoa.
As someone who has developed for Apple platforms for the better part of a decade now, it's pretty amazing just how little Cocoa/AppKit have changed over the years. Only in the past couple of OS releases are we starting to see some larger shifts. The crazy part is that this hasn't really hurt the APIs at all; sure, some bits are starting to look a little dusty and could use some attention, but even so Cocoa (both mobile and desktop variants) remain the best UI toolkit for consumer-facing application development. Qt, GTK, etc get the job done but aren't nearly as pleasant to use.