Я написал скрипт Python (GUI), для которого требуется один внешний файл и один модуль (в папке). Чтобы упаковать этот сценарий для распространения среди других, я использую следующую файловую структуру приложения:
└── Contents
├── Info.plist
└── MacOS
├── colors.py
├── MainScript.py
└── <module>
├── <module files>
Info.plist выглядит так:
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>MainScript.py</string>
</dict>
</plist>
MainScript.py начинается с #!/usr/bin/env python3
расширения chmod +x
.
Когда я дважды щелкаю приложение .app, оно на мгновение появляется в доке, а затем исчезает. Странная часть заключается в том, что open MyApp.app
он работает правильно в прилагаемой папке (а также ./MainScript.py в папке MacOS). Что я делаю не так?
Я бы попробовал использовать такой инструмент, как Platypus, для помощи в сборке пакета приложений.
Возможно, было бы проще определить, какая часть ошибок журнала консоли имеет значение, если вы можете сравнить созданный вручную пакет приложений и сравнить его с тем, который инструмент собирает для вас.
bmike