MacOS – Possible to integrate Keynote in custom UI

keynotemacos

In Windows it is possible to load and instantiate COM/ActiveX components, e.g. PowerPoint, and use them to render in your UI of choice.

With e.g. WebKit, this seems to be possible as WebKit is accessible through /System/Library/Frameworks/WebKit.framework.

Is it possible to do something equivalent in OS X with Keynote?

Best Answer

Yes, on OS X - the technology used to make most programs is Objective C where messages get passed from the UI to the logic and a model-view-controller idiom is used.

If you are skilled, you can do things like patch the binary to swizzle a method or use SIMBL to modify apps that do not have a plug in system like Keynote.

These reverse-engineering feats require some very detailed skill and can break each time the app is updated, so something that is theoretically possible becomes unlikely to happen as something you can download for free with the work already being done for you.

Your commend about the quicklook ability to preview keynotes is where I would start if you wanted to develop a true application to read keynote files. From there, you would need to reverse engineer the storage format by discovering that a .key file is really just a fancy zip file and go from there.