Aunque Apple sólo promueve Objective-C y Swift para el desarrollo de iOS, se puede utilizar cualquier lenguaje que compile con la cadena de herramientas clang. Soporte Python para Apple es una copia de CPython compilada para plataformas de Apple, incluyendo iOS. Este paquete proporciona un Python.framework que se puede utilizar directamente en un proyecto Xcode. Esto permite incrustar un intérprete de Python en su aplicación iOS, lo que, a su vez, significa que se puede ejecutar código Python desde su aplicación iOS.

Sin embargo, no es mucho el poder ser capaz de ejecutar código Python si no puede acceder a las librerías del sistema. Ahí es donde entra jugar Rubicon. Rubicon es una librería puente que te da acceso transparente a todas las clases nativas de Objective C que proporciona iOS. Utilizando esto, puedes escribir una aplicación de iOS directamente utilizando las API de iOS nativas.

Una vez que hayas escrito tu aplicación nativa de iOS, puedes utilizar Briefcase para empaquetar el código Python como un paquete de aplicaciones de iOS. Briefcase toma la definición config.py de distutils para tu proyecto Python y usa esa metadata para generar un proyecto base de Xcode para iOS, y agrega tu código Python y las dependencias para que se encuentren cuando ejecutes tu proyecto iOS. El proyecto de base se genera utilizando la Plantilla Python para iOS.

Sigue el tutorial en los documentos de Briefcase para empezar!