¿Apple acepta las aplicaciones de Python para su distribución en la nueva Mac App Store?¿Es posible implementar una aplicación Python en el Mac App Store?
En caso afirmativo, ¿cómo debe empaquetarse la aplicación? ¿Es suficiente py2app? ¿Algo más?
¿Apple acepta las aplicaciones de Python para su distribución en la nueva Mac App Store?¿Es posible implementar una aplicación Python en el Mac App Store?
En caso afirmativo, ¿cómo debe empaquetarse la aplicación? ¿Es suficiente py2app? ¿Algo más?
He empacado Pennywise, que está disponible en el Mac App Store. Está basado en moneyGuru de Virgil, que usa Python, PyObjC y py2app.
Tendrás que seguir Apple's process for preparing an application for submission to the 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, p. Brillar. No es estrictamente obligatorio, pero probablemente también desee implement receipt checking. Usar Xcode hará que el proceso de envío sea mucho más fácil. Puede mirar the moneyGuru source code 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 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.
Sí, es posible, siempre que cumpla con el conjunto completo de pautas de aprobación. Esto significa que el intérprete de Python tendrá que estar incluido en su aplicación, por ejemplo.
Ver aquí para una lista completa de requisitos:
https://developer.apple.com/appstore/mac/resources/approval/guidelines.html
Esto ayuda, pero realmente no cubre exactamente cómo empacar una presentación exitosa (la segunda parte de mi pregunta). – FogleBird
Las instrucciones dicen que use XCode y las herramientas de embalaje asociadas, pensé. – blueberryfields
"Esto significa que el intérprete de Python tendrá que ser incluido en su aplicación, por ejemplo."¿De dónde sacas ese requisito? Hay un intérprete perfectamente bueno en'/System/Library/Frameworks/Python.framework' – Miles
Apple proporciona la herramienta Construir Applet para Python con Xcode por lo que debe ser apoyado por la tienda de aplicaciones. 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/lib/python2.5
.
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.
Impresionante, acabo de enviar un correo electrónico al desarrollador de Pennywise y dijo que publicará un responda aquí hoy. – FogleBird
Es muy posible. Mi aplicación está actualmente en la lista:
http://itunes.apple.com/us/app/quickwho/id419483981?mt=12&ls=1#
, liado con py2app, no se preocupe.
Escribí un artículo completo que explica cómo crear y enviar una aplicación de Python al Mac App Store. Incluye código fuente y scripts de compilación para una aplicación de ejemplo barebones que he enviado correctamente.
Me parece gracioso que haya escrito un guión de shell, en lugar de un guión de python, para automatizar las diversas partes del proceso para cargar un guión de python en el App Store. – ArtOfWarfare
Sí, supongo que es un poco gracioso. Como la mayor parte del proceso solo ejecuta otras herramientas de CLI y no hay mucha validación o abstracción, el shell s los inválidos funcionan bien tal como están. - Los scripts de shell más complejos que he escrito en otros proyectos finalmente fueron promovidos a scripts de Python. –
partir de una recompensa. ¿Alguien ha hecho esto? Las respuestas actuales son vagas. – FogleBird