May 27, 2021, 12:00 PM
How to cancel GCD (Dispatch) operations using DispatchWorkItem.
Built It — Welcome Window 4
May 7, 2021, 10:00 PM
We wrap up our implementation of the Welcome Window showing how to wrap it in a framework and use it from a document-based app.
Build It — Welcome Window 3
Mar 11, 2021, 6:00 PM
In this video we implement the table view (right side) of the Welcome to Xcode window.
Build It — Welcome Window 2
Mar 4, 2021, 4:00 PM
The second Welcome Window video showing how we can implement the main contents view.
Build It — Welcome Window 1
Feb 25, 2021, 1:30 PM
We're building Xcode's welcome window from scratch using AppKit. Join me on the journey of building more complex components for macOS.
Cocoa Programming L93 - Big Sur Window & Toolbar
Jan 25, 2021, 12:00 PM
We cover some of the API changes to NSWindow and NSToolbarItem in Big Sur.
Cocoa Programming L92 - SF Symbols
Jan 1, 2021, 3:00 PM
How to use SF Symbols in Big Sur along with NSFont improvements.
WWDC SF Symbols Talk: https://developer.apple.com/videos/play/wwdc2020/10207/
SF Symbols Application: https://developer.apple.com/sf-symbols/
Cocoa Programming L91 - NSTableView Big Sur Updates
Dec 18, 2020, 11:30 PM
Big Sur updates to NSTableView. We talk about NSTableView styles and NSTableViewDiffableDataSource.
NSCollectionView diffable data source tutorial:
Cocoa Programming L90 - Custom Search Suggestions Window
Dec 14, 2020, 1:30 PM
How to create a custom search suggestions window in Cocoa. This talk was originally put on by the Back to the Mac conference, found here: https://www.youtube.com/channel/UCqiRMXmkXN1KDrX4WYlS5rw
Cocoa Programming L89 - Keychain Access
Sep 30, 2020, 3:00 PM
How to save and retrieve passwords from Keychain. We use Local Authentication that we talked about in the previous tutorial found here: https://www.youtube.com/watch?v=RVL5srr4BQc&list=PLE83F832121568D36&index=88
Cocoa Programming L88 - Touch ID Authentication
Sep 17, 2020, 2:00 PM
How to use the Local Authentication framework to authenticate using Watch, Touch ID, or password fallback. In the next video we'll cover how to integrate this with Keychain.
Responder Chain 6 — Daniel de Haas
Aug 27, 2020, 4:00 PM
Today we talk with Daniel de Haas about a cool app he's built called Keysmith.
Keysmith Website: https://keysmith.app
Keysmith Twitter: https://twitter.com/keysmithapp
Daniel's Twitter: https://twitter.com/dehaasde
Cocoa Programming L87 - NSFilePromiseProvider
Aug 15, 2020, 4:00 PM
How to provide file promises to external applications.
Apple source code for file promises:
Cocoa Programming L86 - NSFilePromiseReceiver
Jul 27, 2020, 3:00 PM
How to receive file promises from drag and drop using NSFilePromiseReceiver. We'll show how to accept both local file URLs and file promises.
Apple source code for file...
Why is macOS great?
Jul 18, 2020, 4:00 PM
I want to deep dive into some core reasons macOS applications are different than just an iOS app running on macOS. This has nothing to do with frameworks and everything to do with usability.
If you enjoy this content, consider following...
Responder Chain 5 — Ivan Sapozhnik
Jul 6, 2020, 1:00 PM
Ivan and I talk about his work on NSWindow for creating menu bar applications that behave like they should on macOS.
Responder Chain 4 — Malin Sundberg
Jun 15, 2020, 1:00 PM
This episode of responder chain features Malin Sundberg where we discuss SwiftUI for macOS.
Cup of Tech Podcast: http://cupof.tech
We Like Games...
Cocoa Programming L85 - Open/Save Panel Accessory View
Jun 11, 2020, 3:30 PM
How to add an accessory view to NSOpenPanel or NSSavePanel. We walk through creating one similar to that of Xcode's new project creation flow.
Cocoa Programming L84 - NSPreferencePane
Jun 2, 2020, 2:11 PM
How to create a System Preferences preference pane.
Cocoa Programming L83 - Symbolicate Crash Logs
May 15, 2020, 12:00 PM
How to symbolicate crash logs for Mac apps. We manually symbolicate crashes using CLI and then talk about a more automated way using MacSymbolicator. Make sure you keep those dSYM files.
Cocoa Programming L82 - App Notarization
May 8, 2020, 2:00 AM
How to notarize your macOS applications via Xcode or with the command line interface.
Notarization overview and using Xcode:
Responder Chain 3 — Itai Ferber
May 4, 2020, 1:00 PM
My previous roommate, Itai Ferber, stops in to talk about his past experience with macOS, his time on Apple's Foundation team developing Swift Codable, and working remote.
Cocoa Programming L81 - NSTabViewController
Apr 24, 2020, 2:15 PM
How to use an NSTabViewController to switch between multiple views programmatically as well as in a toolbar/tab setting such as a preference pane.
Responder Chain 2 - Leo Dion
Apr 20, 2020, 1:00 PM
In this second episode we're talking with Leo Dion about asset catalogs. Leo has created Speculid which helps to fill asset catalogs from designer assets such as Sketch, SVG files, and...
Cocoa Programming L80 - Field Editor
Mar 27, 2020, 3:00 PM
A lengthy discussion on various ways you can customize the field editor (NSTextView) when editing inside of NSTextField.
Field Editor Documentation:...
Responder Chain — Paulo Andrade
Mar 16, 2020, 1:00 PM
Welcome to Responder Chain!
Our first episode features Paulo Andrade, developer for Secrets – Password Manager. We talk about what motivated him to become a Mac developer and then how he handles choosing to swap or push a view controller...
Cocoa Programming L79 - Key View Loop
Mar 13, 2020, 5:00 PM
How to manipulate the key view loop to change where focus moves when pressing the tab key (or shift-tab) on macOS.
Be sure to test your apps using tab between all controls set in System Preferences. As always, all code can be found on...
Cocoa Programming L78 - NSTokenField
Feb 28, 2020, 5:00 PM
How to use NSTokenField to make a token interface similar to the compose window's "To" field in Mail.app.