Training for macOS app

I am looking for training using xcode 11 Interface builder to develop a macOS app. I want to take advantage of things like sidebar navigation, toolbars and drag and drop etc. Their seems to plenty of training for IOS but none for macOS. Does anybody know where I can find some training resources for developing a macOS app?


Thanks

Replies

There is no one source for macOS training. There are a patchwork of example code over the past 20 years. Some of it is still relevent. Some of it isn't. There are some 3rd party educational resources here and there on the internet. But generally speaking, if you to learn macOS development, you're on your own.


I suggest you focus on the Catalyst framework. You will be more likely to find documentation for that. You are essentially using iOS APIs to write a macOS app.

I have been working on macOS for the last 3 years. ... and there is nobody anywhere. I had to buy a collection of old books. If you know how to teach yourself, do it.

>where I can find some training resources for developing a macOS app?


WWDC...?


WWDC 2020 will be virtual, coming soon.


https://developer.apple.com/wwdc20/

Ther best I found to learn was to get some Apple sample code for MacApp and (painfully) understand how it worked.

And then, start buiding an app.


Do you plan to use storyboard or only xib (I do not use storyboards for MacOS app, only for iOS, because I wanted more flexibility on managing windows).


Where do you stand in your set up ?


What I usually have

- a mainMenu.xib (in which I define the splash screen)

- an AppDelegate, with all the app initialization func (as appDidFinishLaunching) and the IBOutlets for the splash screen

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate, NSWindowDelegate {


- in this AppDelegate, an appController IBOutlet that is also added to the mainMenu.xib, in order to be able to call appDelegate.appController when needed

@IBOutlet weak var appController: AppController!

Note: the links between AppDelegate and AppController may be tricky some times.


- an AppController class where all IBOutlets for the menuBar items and their IBActions are defined

- The menuItems in MainMenu.xib are connected to those IBOutlets and IBActions


- I define all the windows references in a Global class (a singleton).

- And create a xib for each class of window.


Hope that helps. Tell where you have problem.

The following link has a list of resources for learning Mac development:


swiftdevjournal.com/resources-for-learning-mac-development/