Monitoring Keynote 6 Presentation Using ScriptingBridge

I developed an application that collects some information about presentations and controls the behavior of the presenter during the presentation. Applications are a build of an OS X application in Objective-C using the Cocoa Framework

In the past, I used Apple's very own ScriptingBridge.framework along with an API created using sdef /Applications/Keynote.app/ | sdp -fh --basename Keynote .

With versions prior to Keynote 6 (which were released a couple of days ago), the interface contained classes and methods that could be used to collect useful information about the current state of the running Keynote application. Some examples that I used in my application:

  • Check if the key was in presenter mode
  • Get the slide number of the current active slide (in presenter mode)
  • For each slide you can get some information (for example, what was on it)
  • ...

Looking at the newly created Keynote 6 header file, it seems like Apple has written a completely new API. It seems that everything I wrote above is already impossible! Even worse, it looks like they interacted with Keynote in only one way! The API allows you to instruct Keynote to perform certain actions (for example, exporting, opening, launching a presentation, ...), but support for requesting information about the internal state of a running Keynote application does not seem to be taken into account.

, - ? , , Keynote ( < v6.0)? ScriptingBridge , ?

, ...

+4

All Articles