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.
These bindings are accessed through the
JSContextRef) are C types with manual reference counting. PyObjC
does not manage the reference counts for you, you’ll have to call the correct retain and release functions manually to avoid
leaking memory and/or crashing.
This is a context manager that makes it easier to deal with reference counts:
is more or less equivalant to:
The actual release function used depends on the type of value.
This function is not supported. Convert the string to a Python type using
The private data of an object is a
void* in (Objective-)C, and an integer in Python. Use the
objc.context object to attach
arbitrary data to an object:
These structs and functions using them are not yet supported.
Not supported at the moment as this requires manual wrappers (C code).
OSX 10.9 introcuded a
JSExport protocol. There is a C macro for renaming the name
To use the protocol you must use a Python that’s build with OSX 10.9 or later as the deployment target.