Regular Articles

Introduction to Cocoa Bindings

The Cocoa Bindings system is a toolset available in Panther which allows you to define relationships between user interface and data objects. This means a lot less code, and a lot more functionality for free. This tutorial walks you through the conversion of a standard application into a bindings application.
April 30, 2004

Cocoa and Perl — There's More Than One Way to Do It

The Cocoa development environment encourages the "Model-View-Controller" design pattern. This article demonstrates how Perl can serve as a resource for the "Model" components of Cocoa applications. The PerlObjCBridge makes it fairly easy to provide an Aqua interface to a Perl utility, or to add Perl's power to Objective-C in the "Model." [Tutorials: Regular];
Posted by Submission on November 01, 2003 [Feedback (4) & TrackBack (0)]

Building NSMenuExtra - A Small Tutorial

An easy tutorial on building an NSMenuExtra. [Tutorials: Regular];
Posted by Submission on October 09, 2003 [Feedback (9) & TrackBack (0)]

MyOneLineOfCodeBrowser using Cocoa and WebKit 1.0

This easy tutorial will introduce you to the new Cocoa Framework named Web Kit. Step by step you'll create a Web Browser with only 1 line of code. [Tutorials: Regular];
Posted by Submission on July 12, 2003 [Feedback (42) & TrackBack (6)]

Create a PDF

This tutorial shows you how to add export to PDF support to an application for single page and multi page documents. [Tutorials: Regular];
Posted by Brad Miller on April 19, 2003 [Feedback (3) & TrackBack (0)]

Drag and Drop Destinations

A quick tutorial on how to implement the NSDraggingDestination informal protocol. This is what lets a view receive drag and drop operations. [Tutorials: Regular];
Posted by Jeff Disher on November 24, 2002 [Feedback (4) & TrackBack (0)]

Recent Tunes NSStatusItem

This tutorial shows you how to create a "menu extra" by using the NSStatusItem class and having the application run in the background. [Tutorials: Regular];
Posted by Jason Marr on November 10, 2002 [Feedback (20) & TrackBack (0)]

Making Other People's Software Work for You

This tutorial steps you through making a simple plugin and tells you how to build both plugins and applications that accept the capability. [Tutorials: Regular];
Posted by Submission on August 07, 2002 [Feedback (5) & TrackBack (0)]

Drop Shadows

This tutorial shows how to add drop shadows to the items drawn in a NSView using the ShadowView subclass. [Tutorials: Regular];
Posted by Brad Miller on August 03, 2002 [Feedback (6) & TrackBack (0)]

Checking the User's Mac OS X Version

This article describes how you would go about checking the user's version of Mac OS X, either to enable or disable a feature, or do other things. [Tutorials: Regular];
Posted by Submission on August 01, 2002 [Feedback (3) & TrackBack (0)]

Drawing Scribbles

This tutorial - a real quickie - shows you how to subclass NSView to override some key events, like mouseDown: and mouseMoved:. [Tutorials: Regular];

Debugging, Omni-Style

A quick overview of the simplest of the OmniFrameworks, including OBObject and the OBASSERT macros. [Tutorials: Regular];
Posted by Submission on July 07, 2002 [Feedback (0) & TrackBack (0)]

Mouse Events

This tutorial will add mouse events to the Rotate app to control the transformations. The translations will be controlled by normal mouse clicks and dragging. Rotation and scaling will both be controlled by either control clicking or by the right mouse button if the user has a multi button mouse. In addition, scaling will also depend on the shift key being pressed. [Tutorials: Regular];
Posted by Brad Miller on June 21, 2002 [Feedback (0) & TrackBack (0)]

Understanding the design behind Cocoa's Foundation classes

Guidelines to help choose the right class to use in Cocoa's Foundation classes, as well as how to use them most effectively. [Tutorials: Regular];
Posted by Submission on June 01, 2002 [Feedback (0) & TrackBack (0)]

Interface Builder Palettes

This tutorial shows you how to create a custom palette to use in Interface Builder. [Tutorials: Regular];
Posted by Jason Marr on May 28, 2002 [Feedback (5) & TrackBack (0)]

ABC's Archive Repository

Jiiva provides us with a new way to store resources. This article answers the questions "why and how". [Tutorials: Regular];
Posted by Andy Monitzer on April 08, 2002 [Feedback (0) & TrackBack (0)]

Internet Version Checking

Ever download an application that had a "Check for New Release" or "Version" feature? Ever wonder just how that was done. It's cake! This tutorial is one of our shortest. [Tutorials: Regular];

How to Create, Load, and Use Multiple Nib Files

How to use multiple Nibs in order to easily have multiple intances of resources loaded and running in your application [Tutorials: Regular];
Posted by Submission on March 28, 2002 [Feedback (0) & TrackBack (0)]

Using Transformations

Tutorial on using NSAffineTransform to perform transformations and ABCRotation to control the rotate transform. [Tutorials: Regular];
Posted by Brad Miller on January 30, 2002 [Feedback (0) & TrackBack (0)]

Scrolling About Box

This tutorial explains how to make an About Box with scrolling credits. As an added bonus you will also learn how to make a Secret About Box. [Tutorials: Regular];
Posted by Brian Christensen on January 11, 2002 [Feedback (4) & TrackBack (0)]

Getting Started With Portable Distributed Objects (PDOs)

This tutorial will show you how to use Portable Distributed Objects to communicate between threads and processes, including a fairly involved example that will stretch beyond just this article. [Tutorials: Regular];
Posted by Submission on December 05, 2001 [Feedback (7) & TrackBack (0)]

Frameworks Within The App Bundle

This article explains how to include a framework inside of your application's bundle in order to avoid requiring installation of the framework by the user. [Tutorials: Regular];
Posted by Brian Christensen on November 13, 2001 [Feedback (12) & TrackBack (0)]

GUI-Less Applications

Event though Mac OS X is GUI-based, sometimes you just need something that requires the terminal. [Tutorials: Regular];
Posted by Andy Monitzer on November 12, 2001 [Feedback (0) & TrackBack (0)]

Creating a PreferencePane

An introduction on how to create a PreferencePane. [Tutorials: Regular];
Posted by Andy Monitzer on November 12, 2001 [Feedback (2) & TrackBack (0)]

Create a Preference Pane

This tutorial shows you how to create a preference pane that can be added to the System Preferences application. Specifically, a pane is created that allows you to control the position of the scroll arrows on the scroll bar and offers more options than what Apple provides in the General preferences. [Tutorials: Regular];
Posted by Jason Marr on November 09, 2001 [Feedback (1) & TrackBack (0)]

How to Use Toolbars

This tutorial shows how to add a toolbar to a window and how to customize it. [Tutorials: Regular];
Posted by Brad Miller on November 04, 2001 [Feedback (8) & TrackBack (0)]

Running Multiple Threads in Cocoa

A quick intro to how to use Cocoa's NSThread class to create and destroy threads, and its synchronization classes to keep them from ruining each other's data. [Tutorials: Regular];
Posted by Submission on November 04, 2001 [Feedback (0) & TrackBack (0)]

Using the Property List Objects and the NSCoding Protocol

A tutorial with examples of using the XML-based property list methods and also the binary-encoded NSArchiver based methods to create persistent objects. [Tutorials: Regular];
Posted by Submission on October 29, 2001 [Feedback (0) & TrackBack (0)]

How to Make a Dock Menu

This tutorial shows how to add a custom dock menu to your application. [Tutorials: Regular];
Posted by Brian Christensen on October 27, 2001 [Feedback (0) & TrackBack (0)]

NSDirectoryEnumerator

This article covers a very simple tool used to grab all the files in a folder. Many people don't even know that this exists! [Tutorials: Regular];
Posted by Erik J. Barzeski on October 26, 2001 [Feedback (3) & TrackBack (0)]

Debugging Cocoa Apps Using GDB, Assert, and More in Mac OS X

This article discusses debugging in Mac OS X using Unix tools like GDB, functionality like assert and NSLog/printf, and more. This is not for a Cocoa newbie, but should serve debugging newbies well. [Tutorials: Regular];
Posted by Submission on October 13, 2001 [Feedback (1) & TrackBack (0)]

Build an ImageBuddy

Getting at each pixel of an image is somewhat complex at times. This tutorial shows you how to add noise to an image, and then remove that noise with a "smoothing" algorithm. [Tutorials: Regular];
Posted by Erik J. Barzeski on October 05, 2001 [Feedback (5) & TrackBack (0)]

Using Apple's PPP Library

Using Darwin's ppplib to connect, disconnect and receive PPP-events. [Tutorials: Regular];

How to Make a Full Screen App

This tutorial describes the steps necessary to make a full screen application. [Tutorials: Regular];

Installing OmniFrameworks

AppKit and Foundation are great, but your development power can be strengthened by using third-party frameworks. Read this article to get started with OmniFrameworks, a set of powerful frameworks from The Omni Group. [Tutorials: Regular];
Posted by Jeff Hunter on July 12, 2001 [Feedback (1) & TrackBack (0)]

NSNotificationCenter

Objects talk to each other in Cocoa. One of the ways they "converse" is with "notifications." This tutorial shows you how to use notifications. [Tutorials: Regular];

Wrapping UNIX Commands Part II

Using NSTask's setStandardOutput: for displaying information from a command. [Tutorials: Regular];

Using Project Builder's 'Source Control Management' Features

Versioning is an important feature for many projects. This tutorial teaches you how to use versioning in your project. [Tutorials: Regular];
Posted by Submission on June 07, 2001 [Feedback (3) & TrackBack (0)]

Hang a Man

I wrote a Hangman app (which runs in a console window) a long time ago. This tutorial converts that code to a Cocoa hangman app. It's much simpler than you might think! [Tutorials: Regular];

Wrapping UNIX Commands

Using NSTask and an interface to help regular users. [Tutorials: Regular];
Posted by Andy Monitzer on April 29, 2001 [Feedback (6) & TrackBack (0)]

Writing a Screen Saver Module

This tutorial describes how to easily write a screen saver module. [Tutorials: Regular];

Packaging with Disk Images

How to create a disk image to distribute your applications [Tutorials: Regular];
Posted by Submission on March 20, 2001 [Feedback (0) & TrackBack (0)]