Я попробовал все следующее: ... Какие из них мне нужны и не нужны?А что вы подразумеваете под связыванием ?- Тик
Ответ на ваш комментарий с ответом, потому что он не помещается в комментарии.Извините.
Ситуация, возможно, немного запутанная.PyObjC содержит целый набор информации (метаданные и некоторый вспомогательный код) о функциях, объектах и т. Д. В платформах Apple, но он не содержит сам код (потому что это код Apple, и PyObjC можетпросто копируй).Используемые вами функции находятся в платформе Apple ApplicationServices.PyObjC хранит информацию об этой платформе в своем модуле Quartz
.Итак, часть I: чтобы использовать эти функции в Python, вам нужно получить информацию PyObjC: from Quartz import *
.
Часть II заключается в том, что, как я уже сказал, ваше приложение должно знать, а не только где метаданные PyObjCесть, но где находится код Apple, который вы пытаетесь использовать.Это ссылка часть.(Не похоже, что вы используете XCode, поскольку вы настраиваете свой собственный цикл выполнения, но в XCode вы должны перейти в группу Linked Frameworks в своем проекте и добавить к ней ApplicationServices.)
Полагаю, вы используете py2app?Боюсь, я не уверен на 100%, как это сделать таким образом, но этот ТАК вопрос может помочь вам начать: Проблема с использованием py2app
Надеюсь, что это укажет вам полезное направление.
(Между прочим, когда я настраивал проект с вашим кодом, в Xcode и со связанной структурой ApplicationServices, он блокировал мои устройства ввода, так что единственное, что я мог сделать, это перезагрузить компьютер. Явозможно, что-то случилось не так, но имейте в виду, что когда вы получите эту ссылку, у могут быть другие проблемы с настраиваемым краном. Возможно, вы захотите попробовать сделать это в C / Obj-Cсначала, а затем перевод на Python, когда вы знаете, что это работает.)