Thursday, March 8, 2012

Appscript EOLed

Hamish Sanderson (via Clark Goble):

Apple declared the Carbon Apple Event Manager a legacy API in Mac OS X 10.6, advising it not be used for new development.

As of Mac OS X 10.7, the low-level Cocoa API (NSAppleEventDescriptor) still lacks essential functionality (e.g. the ability to send Apple events) while the high-level Cocoa API (Scripting Bridge) is too flawed and limited to be a viable foundation for an appscript-style wrapper.

Update (2012-03-09): Jonathan Rentzsch notes the Apple events APIs are not actually deprecated. This is true, however, the documentation for them is no longer searchable on Apple’s main site. It’s now in the legacy section of the developer library, which says:

The Mac OS X Developer Library — Legacy contains documents that are not applicable for current product development. Some of these documents describe older programming techniques that are no longer recommended. Other documents describe older features, interfaces, and programming techniques that are no longer supported. This information is available to help you maintain and update older code bases.

Whenever you view the documentation, you get a yellow pop-up that says:

Important: The information in this document is obsolete and should not be used for new development.

Update 2: AppleScript engineer Christopher Nebel (via Kevin Walzer):

Practical upshot: use the Objective-C APIs if you can; they’re a lot simpler to use if you’re already working in Objective-C. If they don’t do what you need (or if you’re using straight C for some reason), feel free to use the old-school AEM and OSA directly; there are no plans to remove them.

1 Comment RSS · Twitter

Well, the canary in the coalmine just croaked.

This is the end, my friend.

("Never get off the boat" doesn't work when the boat gets sunk...)

Leave a Comment