La aplicación MacOS no se inicia cuando se hace doble clic, pero se inicia desde la terminal

2

He escrito un script Python (GUI) que requiere un archivo externo y un módulo (en una carpeta). Para empaquetar este script para distribuirlo a otros, estoy usando la siguiente estructura de archivos de aplicación:

└── Contents
    ├── Info.plist
    └── MacOS
        ├── colors.py
        ├── MainScript.py
        └── <module>
            ├── <module files>

Info.plist tiene este aspecto:

<!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 comienza con #!/usr/bin/env python3 y se hizo ejecutable con chmod +x .

Cuando hago doble clic en el .app, aparece momentáneamente en el dock y luego desaparece. La parte extraña es que open MyApp.app funciona correctamente cuando está en la carpeta adjunta (así como ./MainScript.py cuando está en la carpeta MacOS). ¿Qué estoy haciendo mal?

    
pregunta Riley Madison 27.10.2018 - 22:12

1 respuesta

0

Una cosa que intentaría es usar una herramienta como Platypus para ayudar a ensamblar el paquete de aplicaciones.

Podría ser más fácil reducir qué parte de los errores de registro de la consola son relevantes si puede diferenciar su paquete de aplicaciones creadas a mano y compararla con la que la herramienta reúne para usted.

    
respondido por el bmike 27.10.2018 - 22:24

Lea otras preguntas en las etiquetas