Search code examples
pythonobjective-cpyobjc

Cant import a PushKit framework into pyobjus


I am trying to import UserNotifications from the PushKit framework but i don't know how to call it because the only Include function i know of in pyobjus is AppKit. I have not seen of any way to call frameworks from the PushKit when i try to call it from the AppKit. it returns an error. Below is my code and the error. I would appreciate any help.

from pyobjus import autoclass
from pyobjus.dylib_manager import load_framework, INCLUDE
load_framework(INCLUDE.AppKit)
UserNotifications = autoclass('UserNotifications')

Traceback

Traceback (most recent call last):
  File "/Users/temitayoadefemi/PycharmProjects/test7/mainfile.py", line 5, in <module>
    UserNotifications = autoclass('UserNotifications')
  File "pyobjus/pyobjus.pyx", line 726, in pyobjus.autoclass
  File "pyobjus/pyobjus.pyx", line 85, in pyobjus.MetaObjcClass.__new__
  File "pyobjus/pyobjus.pyx", line 116, in pyobjus.MetaObjcClass.resolve_class
pyobjus.ObjcException: Unable to find class b'UserNotifications'


Solution

  • AppKit doesn't have a class called UserNotifications. You could use UNNotificationSettings for normal Push Notification or PKPushRegistry for VoIP Push Notification.

    References:

    https://developer.apple.com/documentation/pushkit?language=objc https://developer.apple.com/documentation/usernotifications?language=objc