Quechee Software logo

Quechee Software

Bill Cheeseman, Principal

OS X Cocoa, AppleScript and GUI Scripting development for Macintosh

Bill Cheeseman
P.O. Box 326
Quechee, VT 05059-0326

billcheeseman@quecheesoftware.com

The Macintosh applications, source code and articles on these pages were written by Bill Cheeseman. They are meant to be useful in their own right, as well as informative to developers.

Each link takes you to a page with more information, where you can also download a disk image, zip archive or PDF file containing software, its source code and its documentation, or other information. Licensing terms, where applicable, are explained on the individual download pages.

Some of this material is old enough to be considered obsolete, but it is kept here for historical interest. It is listed in chronological order, newest first, to help you decide for yourself what may still be of current interest.

Successful iCloud Desktop and Documents Folder Storage on macOS Sierra

The iCloud Storage PDF file (2016) tells the story of what happened after I turned on iCloud Desktop and Documents Folder storage in the iCloud pane of System Preferences, shortly after installing macOS v10.12 Sierra. My aim is to help others to feel comfortable doing it themselves while avoiding the pitfalls I discovered along the way. I include a lot of detail here, most of it not yet mentioned in other online commentaries. The process took a few days and was full of unexpected turns and hard decisions, but it came out well in the end. I can now happily use continuity, switching freely between my two Macs, my iPhone and my iPad, editing the same document on all of them.

TagMinder

TagMinder (2011) is a set of AppleScript scripts enabling you to tag Finder items with words or phrases. Tags allow you to find files by tag without regard to their location, adding an organizing principle to your files that is separate from and more flexible than the filing system's folder structure. You can find all files having specified tags either by using Spotlight or by running the Reveal Tagged Items in Finder script.

This was written before Apple added support for tags to the Finder. I have not yet had time to investigate whether or to what extend TagMinder works with Finder tags.

PackageMaker 3: Building a Leopard or Snow Leopard Installer Package Step by Step, version 1.1

The PackageMaker 3 PDF file (2010) provides detailed step-by-step instructions for creating a flat installer package for Mac OS X 10.5 Leopard and newer. It describes a typical installation scenario in which an application and a shared framework are installed with all the bells and whistles, including options to relocate the application and to install the framework without the application. This article is based on the original installer for the free Event Taps Testbench application.

Lucubrator

Lucubrator (2009) demonstrates how to use the Core Location frameworks introduced in Mac OS X 10.6 Snow Leopard to detect your current location. At the time of this writing, Macintosh hardware is limited to the same technique used by the iPod to determine location. If you have not disabled Location Services, if you have AirPort turned on, if you are connected to the Internet, and if you are in range of a WiFi hotspot that is in the Skyhook database, Lucubrator will find you. When it does, click the Show on Map button to show your location in Google Maps. If you’re in a major city, you’re probably in luck. Otherwise, you might have to add your local hotspots to the Skyhook database yourself. We’ve had reports of success from Boston, Hamburg, Paris, and Sydney.

Wareroom Demo

Wareroom Demo (2005) is a demonstration application that implements the complete AppleScript Standard Suite (plus a few custom commands) in a Core Data application. It requires Mac OS X 10.4 Tiger and newer. It is intended to demonstrate a variety of techniques for making any Cocoa application scriptable using Cocoa Scripting, but with particular focus on some special techniques that are needed to make a Core Data application scriptable. (Note that more recent versions of Apple’s Cocoa frameworks provide easier techniques for accomplishing some of these tasks. Wareroom Demo has not been updated for the latest versions of Core Data.)

QSW_UUID

QSW_UUID (2004) is an Objective-C Cocoa framework for using Apple's Core Foundation UUID API in your Cocoa applications. It is written for Mac OS X 10.2 Jaguar and newer.

A universally unique identifier (UUID) is an identifier that is unique across the space of all UUIDs and unique across time. It can be used to reliably identify and distinguish persistent objects in many contexts, such as identifying remote procedure calls on the internet, identifying header files in software, and identifying individual records in multiple databases. A UUID generator can continue generating unique UUIDs until approximately 3400 A.D.

Vermont Recipes 1

Cocoa Recipes for Mac OS X: The Vermont Recipes (First Edition) was published by Peachpit Press in 2003. You can read the Errata and download the source code and project files here. Note that the project can only be opened in older versions of Xcode.