API Notes: ScreenSaver framework


An introduction to PyObjC describes the general method for translating Objective-C calls into Python calls, including the handling of pass-by-reference arguments and buffers.

This document describes where the PyObjC bindings for this framework are different from the general rule, such as mentioning APIs that are not supported or where the interface is different than expected.

The full API is described in Apple’s documentation, both the C and Objective-C APIs are available (but see the API Notes below).

These bindings are accessed through the ScreenSaver package (that is, import ScreenSaver).

API Notes

The PyObjC bindings for the ScreenSaver framework are complete.

Platform limitations

Screen savers are plugins for the screen saver engine, this means that a screen saver must contain compiled C code for the correct architectures.

On Mac OS X 10.6 and Mac OS X 10.7 you cannot use PyObjC to write a screen saver because the screen saver engine uses Objetive-C Garbage Collection and that is not supported by PyObjC.

Screen savers work again in OS X 10.8.

For OSX 10.6 or later on Intel CPUs the binary must contain support for the x86_64 (64-bit Intel) code, on earlier OSX releases support for i386 (32-bit Intel) is needed.

See the section on “Binary Compatibility” in Apple’s documentation for more information.