List of Cocoa with Love projects

StreamToMe has moved!
You can now find StreamToMe at zqueue.com/streamtome

We're still the same developers working on StreamToMe, same excellent support. We're now working at zqueue, a company we started to focus on media streaming client and server products.

The following are open source projects projects that I've written and shared as part of my Mac programming blog, CocoaWithLove and are intended to teach concepts and techniques in Cocoa Mac programming.

NameRelated blog postDescription
AnimationAcceleration Parametric acceleration curves in Core Animation A sample Mac application that simulates some functions that CAMediaTimerFunction can't achieve by using parametric CAKeyframeAnimation values.
AppWithButton Custom views in Interface Builder using IBPlugins An Mac application with a custom drawn button and a plugin allowing the button to be viewed and customized in Interface Builder.
AustralianPostcodes The design of an iPhone application An sample iPhone application that displays the locations of Australia Postcodes from a Core Data file in an MKMapView.
CocoaScript A Cocoa application for running scripts A Mac application that runs a series of steps, recording the output of each step and tracking the success/failure result of the steps, much like a typical IDE build log.
ColumnSplitView An NSSplitView delegate for priority based resizing A Cocoa Mac delegate class that configures a split view for this side panel and main view behavior — resizing the views in a split view based on a priority list.
ColumnViewSample Custom UI Bindings in Interface Builder A Mac application demonstrating how to implement custom UI bindings with a column view designed like the iOS UITableView.
CSVImporter Writing a parser using NSScanner (a CSV parsing example) An RFC4180 compliant CSV parser implementation to show you the basics of writing a recursive descent parser for importing data into your Cocoa applications.
CurveDrawing CoreGraphics curves and lines: a sample app A small Mac application which shows the basic CoreGraphics line drawing primitives. Includes mouse editable control points to manipulate the primitives graphically.
CustomObjectCreation Alternative Objective-C object allocation for large arrays Sample code that shows how to allocate arrays of Objective-C objects with a single malloc operation (for efficiency).
EasyCustomTable Easy custom UITableView drawing A sample iPhone application that draws its UITableView using entirely custom graphics.
FuelView An RSS-feed and location-based iOS application iOS application that pulls data from an RSS feed, displays it pretty and can put things on a map.
FullscreenImage Animating a window to fullscreen on the Mac A simple Mac application which shows how to animate a window to fullscreen.
FullscreenImage Animating a window to fullscreen on the Mac A simple Mac application which shows how to animate a window to fullscreen.
GraphicalSubtraction 5 ways to draw a 2D shape with a hole in CoreGraphics A collection of different ways to draw hole in the center of an object in CoreGraphics.
HashValue HashValue: an object for holding MD5 and SHA hashes A class for creating MD5 and SHA hashes easily in Cocoa.
HiddenDrawer Intercepting status bar touches on the iPhone An iPhone application that uses an undocumented hack to intercept a status bar touch and display a hidden drawer.
IconApp Advanced drawing using AppKit A Mac application that draws an icon similar to the Mac App Store icon, entirely in code using AppKit drawing primitives.
iPhoneStreamingPlayer Revisiting an old post: Streaming and playing an MP3 stream An iPhone application that can stream and play a continuous MP3 audio stream via HTTP.
LocalSubstitutionCache Substituting local data for remote UIWebView requests An iOS application that shows how to use a custom webcache to substitute local data for requests in a UIWebView.
LinkedListCoding Using NSKeyedArchiver to archive a C linked-list A class for creating an NSKeyedArchive from a C linked list.
Magic Number Machine N/A (predates CocoaWithLove). A free, full-featured, graphically laid out, high-precision, scientific calculator for Mac OS X 10.4 and greater. Full source-code is included with the distribution.
MultiRowSelect Multiple row selection and editing in a UITableView. An iPhone application that can select multiple table rows (like the message delete interface in the iPhone Mail app).
NameListEditor Application Design in AppKit A simple Mac application that I used in the post to illustrate how Model-View-Controller applies to Cocoa Mac applications.
NewToTheStore A Cocoa application driven by HTTP data A Mac application which shows how to populate a table column and main window view from data fetched from an HTML page.
NibOrNot Load from NIB or construct views in code: which is faster? An iPhone application that tests whether constructing a view in code or loading the view from a NIB file is faster.
NSData_Base64 Base64 encoding options on the Mac and iPhone A class for encoding and decoding Base64 data.
NSFileManager_DirectoryLocations Finding or creating the application support directory A category for the NSFileManager class that allows you to find or create the application support directory in a single line.
NSHost_ThreadedAdditions A drop-in fix for the problems with NSHost An NSHost category which makes the class threadsafe.
NSInvocationForwardedConstruction Construct an NSInvocation for any message, just by sending A class for creating an NSInvocation object simply by sending the message to the class.
NSString+SymlinksAndAliases Resolving a path containing a mixture of aliases and symlinks An NSString category that can resolve paths with a blend of aliases and symlinks.
OpenFileKiller Invoking other processes in Cocoa A Mac project that shows how to invoke other processes — optionally with root privileges — and get the results in a single line. The sample application can kill the processes that have opened a specific file.
OrderedDictionary OrderedDictionary: Subclassing a Cocoa class cluster An NSDictionary subclass that keeps its keys in an ordered array and can rearrange as desired.
PagingScrollView Multiple virtual pages in a UIScrollView with just 2 child views A sample iPhone application that shows how to maintain multiple pages in a scroll view without needing to allocate and maintain more than 2 pages at any given time.
PhoneNumbers Heterogeneous cells in a UITableViewController A sample iPhone application that uses a small, self-managing CellController class to eliminate conditionals from a UITableViewController that manages different row types. The sample application shows the phone numbers in your Address Book.
PropertyAccessors Performance Tests: Replacing Core Data key paths Categories on NSArray and NSSet for faster traversals of key paths in Core Data. Includes the performance tests that measure the speed difference.
PropertyFromInstanceVariable Instance variable to synthesized property (an Xcode user script) A PERL script plugin for Xcode that can generate a property declaration and @synthesize statment for selected instance variables.
Quartzeroids2 An Asteroids-style game in CoreAnimation, Part One, Two, Three and Four. A Mac implementation of "Asteroids" using entirely scalable vector graphics.
RecreatedTableViewController Recreating UITableViewController to increase code reuse A reimplementation of UITableViewController starting with a basic UIViewController so that a single view controller could be used for either.
RecreatingNSApplication Demystifying NSApplication by recreating it A Mac application that recreates (almost all of) the critical parts of NSApplication so that you can see how NSApplication works.
RoundWindow Drawing a custom window on Mac OS X A simple application with an entirely custom drawn window (uses a round, gray-gradient ellipse frame).
SelfTesting Automated user interface testing on the iPhone An iPhone Simulator application that can automate its own user-interface as though a user were driving it and can test that specific results are achieved after this automation.
ShadowedTableView Adding shadow effects to UITableView using CAGradientLayer An iPhone application with a UITableView subclass that draws shadows under and above every section.
Spinner Custom build rules, generated tables and faster floating point A variation on Apple's OpenGL sample iPhone application that uses an Xcode custom build rule to generate a lookup table to use instead of the sin function for faster trigonometry.
Stickies Serving an NSManagedObjectContext over an NSConnection A Mac application which serves an NSManagedObjectContext over an NSConnection to a remote host.
StreamingAudioPlayer Revisiting an old post: Streaming and playing an MP3 stream A Mac application that can stream and play a continuous MP3 audio stream via HTTP.
SynthesizeSingleton Singletons, AppDelegates and top-level data. A header file that allows you to turn any class into a singleton with a single macro invocation.
TapZoomRotate A ZoomingViewController to animate a UIView to fullscreen An iOS view controller that can zoom a view to fullscreen and back.
TableDesignRevisited UITableView construction, drawing and management (revisited) A project that shares the code I typically use to manage UITableViews and UITableViewCells on iOS.
TextMasking-iPhone Creating alpha masks from text on the Mac and iPhone A simple iPhone application that shows how to create a bitmap mask from text and use it for drawing effects.
TextMasking-Mac Creating alpha masks from text on the Mac and iPhone A simple Mac application that shows how to create a bitmap mask from text and use it for drawing effects.
TextTransfer A simple, extensible HTTP server in Cocoa An iPhone application that embeds an extensible HTTP server for transferring off of the iPhone via HTTP.
ThreadingOverheads The overhead of spawning threads (a performance experiment) A small Mac program that tests the relative performance of different ways of creating threads in Cocoa.
ToneGenerator An iOS tone generator (an introduction to AudioUnits) An iOS application that uses an AudioUnit to play a tone and a UISlider to change the pitch while the tone continues to play.
UncaughtExceptions Handling unhandled exceptions and signals A basic iPhone application that demonstrates some basic ways that you can catch exceptions and signals for debug purposes.
WhereIsMyMac-WithUnitTests A sample Mac application with complete unit tests A reimplementation of my WhereIsMyMac sample Mac application with full unit tests using Test-Driven-Development.
WhereIsMyMac WhereIsMyMac, a Snow Leopard CoreLocation project A sample Mac application that uses Core Location in Snow Leopard to show the Mac's current location in Google Maps.
WhereIsMyPhone-WithUnitTests A sample iPhone application with complete unit tests A reimplementation of my WhereIsMyMac application for the iPhone with full unit tests using Test-Driven-Development.
WorldTimeConverter WorldTimeConverter: Dates and timezones in Cocoa A Mac application that can convert a specified time in any timezone to the equivalent time in another timezone.
XPathQuery Using libxml2 for XML parsing and XPath queries in Cocoa A wrapper around libxml to make full DOM based parsing and Xpath based searching easier on the iPhone.