2011-02-09 20 views

Respuesta

55

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.

5

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

+0

Esto ayuda, pero realmente no cubre exactamente cómo empacar una presentación exitosa (la segunda parte de mi pregunta). – FogleBird

+0

Las instrucciones dicen que use XCode y las herramientas de embalaje asociadas, pensé. – blueberryfields

+2

"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

1

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.

9

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.

+2

Impresionante, acabo de enviar un correo electrónico al desarrollador de Pennywise y dijo que publicará un responda aquí hoy. – FogleBird

6

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.

+0

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

+0

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. –

Cuestiones relacionadas