PyObjC 9.2 released

PyObjC 9.2 is uploading to PyPI. This contains a number of bugfixes, as well as support for Python 3.12 (tested with beta 1).

PyObjC will now also warn about code that uses argumentless super() when super doesn’t resolve to PyObjC’s objc.super. Using builtin.super for resolving superclass attributes for Objective-C classes can result in subtle errors. Using objc.super instead fixes those errors, and is safe to use with regular python classes as well.

The correct code pattern is:

from Foundation import NSObject
from objc import super  # Use ``objc.super`` instead of ``builtin.super``


class MyObject(NSObject):
    def init(self):
         self = super().init()
         if self is None:
             return None

         ...
         return self
Ronald Oussoren @ronaldoussoren