with mac python macos app-store py2app

with - ¿Es posible implementar una aplicación Python en el Mac App Store?



python on mac (6)

¿Apple acepta las aplicaciones de Python para su distribución en la nueva Mac App Store?

Si es así, ¿cómo debe empaquetarse la aplicación? ¿Es suficiente py2app? ¿Algo más?


Apple proporciona la herramienta Build Applet para Python con Xcode, por lo que debe ser compatible con App Store. MacOS X 10.6.6 incluye Python 2.5 y 2.6 como parte de la instalación predeterminada, puede especificar /usr/bin/python2.5 y /usr/bin/python2.5 .


Empaqueté Pennywise, que está disponible en Mac App Store. Está basado en moneyGuru de Virgil, que usa Python, PyObjC y py2app.

Deberá seguir el proceso de Apple para preparar una solicitud para enviarla a la Mac App Store . Lo más importante es que deseará agregar las claves adecuadas a su Info.plist y eliminar cualquier mecanismo de actualización automática, por ejemplo, Sparkle. No es estrictamente obligatorio, pero probablemente también desee implementar la verificación de recibos . Usar Xcode hará que el proceso de envío sea mucho más fácil. Puede ver el código fuente moneyGuru para ver un ejemplo de cómo usar Xcode como la parte final del proceso de compilación.

Py2app incorpora una copia del framework de Python en el paquete, por lo que no sé si Apple aprobará una aplicación que solo se vincule al framework del sistema. Si bien el binario principal no puede soportar PPC, Apple no parece verificar las arquitecturas de binarios en marcos integrados.

Una advertencia final: no recomendaría este proceso para escribir nuevas aplicaciones. El uso de Python, PyObjC y py2app complica seriamente el proceso de compilación e introduce dependencias adicionales.



Escribí un artículo completo explicando cómo crear y enviar una aplicación de Python a Mac App Store. Incluye código fuente y scripts de compilación para una aplicación de ejemplo barebones que he enviado correctamente.


Sé que es posible porque conozco al menos una aplicación basada en Python que está en la tienda de aplicaciones ("Pennywise", que está basada en mi propia aplicación, moneyGuru, que usa Python + PyObjc + py2app). Yo no lo hice yo mismo, así que no estoy seguro de los detalles.