Anuncios Google

Como publicar una aplicación en Cydia (Xcode 3.2.3/iPhone SDK 4)

Tutoriales Básicos

Recientemente he adquirido un MacBook Pro, lo primero de todo fue bajar el SDK de iPhone y ponerme a trastearlo un poco, como sabéis para poder instalar un programa creado por nosotros debemos pasar por caja, así que empecé a gloogear un poco hasta encontrar un interesante tutorial en el que nos explicaba como poder instalarlo en cualquier teléfono, eso sí, jailbreakeado y distribuirlo vía Cydia.

Son dos las cosas que hay que hacer para poder enviar nuestra aplicación a Cydia:
1.1.    Compilar la aplicación de forma que pueda ser ejecutada en cualquier iPhone. Para ello es necesario saltarse la firma del código.
1.2.    Seguir unos pasos para crear un paquete con la aplicación y poder distribuirlo en Cydia.

:: Compilar la aplicación para JailBreak

Como antes he dicho, sólamente se necesita saltarse la firma de código in Xcode. Cosa fácil de conseguir haciendo los 6 siguientes pasos:
1.1.    Necesitamos un certificado en nuestro mac (Acceso a Llaveros), para que cuando Xcode compile una aplicación no nos de ningún error. Para crear un certificado sigue los siguientes pasos, asegurándonos de tener cerrado Xcode:
1.1.1.    Abrir “Acceso a Llaveros” desde: Aplicaciones -> Utilidades.

1.1.2.    Acceso a Llaveros -> Asistente para Certificados -> Crear un certificado...

1.1.3.    Seguimos los pasos del asistente hasta crear el certificado:

1.2.    Creamos una copia de seguridad (Basta con que lo copies en un lugar donde sepas que no lo vas a borrar con otro nombre) del siguiente fichero:  /Developer/Platforms/iPhoneOS.platform/Info.plit y luego lo editamos sustituyendo todos valores XCiPhoneOSCodeSignContext por XCCodeSignContext.
1.3.    Configuramos Xcode así en la esquina superior izquierda: “Device | Release | ...”

1.4.    Abrimos Xcode -> Project -> Edit Project Settings -> Build. Buscamos Code Signing Identity y le asignamos los siguientes valores “Any iPhone OS Device” = “iPhone Developer”, el nombre del certificado que creamos anteriormente.

1.5.    Compilamos Buid -> Build y nuestra aplicación estará compilada en <Directorio del proyecto>/build/Release-iphones/
1.6.    Momento de comprobar si nuestra aplicación se instala bien:
1.6.1.    Para ello necesitamos tener instalado en nuestro teléfono “Link Identity Editor” si no lo tienes ejecuta Cydia, busca e instala ‘ldid’.
1.6.2.    Copiamos nuestra Aplicacion.app que está en el directorio descrito anteriormente en nuestro teléfono en: /Applications
1.6.3.    Una vez esto entramos vía ssh a nuestro teléfono como root y ejecutamos:
1.6.3.1.    ldid -S /Applications/Aplicacion.app/Aplicacion
1.6.3.2.    killall SpringBoard

Si la aplicación se ejecuta corréctamente funcionará en cualquier iPhone.

:: Crear el paquete con la aplicación para un repositorio Cydia

Para crearlo, sólamente necesitamos preparar una carpeta que contenga los ficheros que queramos instalar y como deben aparecer en el sistema de ficheros de nuestro iPhone. Además necesitaremos crear una carpeta llamada “DEBIAN” en el raiz de nuestro paquete que contenga un fichero llamado “control” que contiene toda la información de la aplicación. Si por ejemplo, necesitamos instalar un programa y un demonio para el programa, tendremos que crear la siguiente estructura de carpetas (dependiendo de que queramos instalar):

    +-- MiPrograma
     |   +-- Applications
     |    |    +-- MiPrograma.app
     |    |         +-- Info.plist
     |    |         +-- MiPrograma
     |    +-- DEBIAN
     |         +-- control
    +-- System
          +-- Library
                +-- LaunchDeamons
                      +-- com.scenebeta.MiPrograma.plist

El contenido del fichero control es una serie de nombres y valores seperados por dos puntos, uno por línea. Aquí hay un ejemplo completo.

Package: com.scenebeta.MiPrograma
Name: MiPrograma
Version: 1.0.0-1
Architecture: iphoneos-arm
Description: Un ejemplo usando APT
Homepage: http://iapps.scenebeta.com
Depiction: http://iapps.scenebeta.com/noticia/MiPrograma
Maintainer: Facine <[email protected]>
Author: Manu García <[email protected]>
Sponsor: SceneBeta <http://www.scenebeta.com/>
Section: Games

    El paquete puede ahora crearse con el contenido de la carpeta Aplicacion ejecutando dpkg-deb. El resultado será un fichero .deb que podrá ser instalado y comprobado en el iPhone. Dependiendo la versión que tengamos de dpkg-deb, podremos recibir cierto número de alertas sobre “user-defined fields” que simplemente ignoraremos, son ciertos fields exclusivos usados por Cydia.

Cuando se crean ficheros tar (parte interna de la estructura de los paquetes Debian), se crean en los sistemas apple unos ficheros adicionales ._* que contienen cierta información que pueden crear conflictos con otros paquetes si ya existen. Para desativar esto necesitamos exportar las siguientes variables del entorno.

# export COPYFILE_DISABLE
# export COPY_EXTENDED_ATTRIBUTES_DISABLE
 
# dpkg-deb -b MiPrograma
warning, `MiPrograma/DEBIAN/control' contains user-defined field `Name'
warning, `MiPrograma/DEBIAN/control' contains user-defined field `Homepage'
warning, `MiPrograma/DEBIAN/control' contains user-defined field `Author'
dpkg-deb: building package `com.scenebeta.MiPrograma' in `MiPrograma.deb'.
dpkg-deb: ignoring 3 warnings about the control file(s)
 
# ls -la MiPrograma.deb
-rw-r--r-- 1 root root 906 2010-06-27 21:48 MiPrograma.deb

Ya tenemos creado nuestro paquete, simplemente faltaría probarlo en nuestro terminal y distribuirlo.

4.357145
Tu voto: Ninguno Votos totales: 4.4 (28 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Urgente Error en Sign

Buenas, quisiera saber por que sale este error al momento de compilar, hice todos los paso pero me sale este error, como puedo solucionarlo??

 

Check dependencies
[BEROR]Code Sign error: a valid provisioning profile matching the application's Identifier 'FacineSoft.CameraApp' could not be found

 

Estoy usando el xcode 4 por que voy a ponerlo en un iPhone 4

 

Gracias

Nuevo SDK

Alguien ya probo si el nuevo sdk 4 Para el ios 4.3.3 se puede usar este mismo tutorial?

Imagen de jsrl789

Inténtalo, cuando el Xcode se

Inténtalo, cuando el Xcode se actualiza es para mejoras ;)

Saludos.

Imagen de Carlitosmachine

Errores en el Keychain

Ya lo resolví...

 

 

 

Gracias.

Despliegue de aplicaciones iPhone 4.1

Estoy intentando desplegar mi aplicacion en un iPhone 4.1 con Jailbreak. He seguido estas intrucciones pero no consigo que se inicio la aplicacion dentro de /Applications.

Sin embargo si desde el propio XCode ejecuto "Build and Run", la aplicación se despliega en un directorio temporal "/private/var/mobile/Applications/5625A934-E621-4FD4-B76E-E4870FF0DA11" y entonces ya puede ejecutarla sin problemas.

Mi problema es que la debo ejecutar como root y en /Applications porque accede a ficheros fuera del SandBox y quiero publicarla en Cydia. Siguiendo este manual, lo máximos que consigo es que una vez copiada la app en /Applications y hecho el "ldil"veo que en el log me aparece el siguiente error "<Error>: handle_vending: Could not stat /private/var/mobile/Applications/5625A934-E621-4FD4-B76E-E4870FF0DA11: No such file or directory", que es el directorio temporal

Por otro lado, entiendo que la manera oficial de desplegar y publicar una aplicacón en Cydia, es esta "http://thebigboss.org/hosting-repository/submit-your-app/compile-for-cydia-submission" y no parece lo mismo ¿Alguna idea?

- iPhone: 4.1 con Jailbreak

- XCode 3.2.4

- Project Settings: Base SDK --> iOS Device 4.1

Gracias!

 

Ya lo he conseguido .

Ya lo he conseguido . Simplemente es que estaba instalada y la habia movido. La desinstale desde el "Organizer" y listo. Ahora lo que falla es el "ldil", que dice algo asi como" MyAPP malformed object (unknown load command 4)
util/ldid.cpp(582): _assert(0:WEXITSTATUS(status) == 0)"

 

La apliacion se ejecuta de todas formas, pero com accede a ficheros fuera del SandBox, falla. He probado a dar permisos, "sticky bit"..etc y nada ¿Alguna sugerencia?

Imagen de Jaiminhio_Milhan

:O wow gracias!! Vamos a

:O wow gracias!!

Vamos a Hackintoshearlo >=D

saludos

Imagen de Rogeiro

¿Donde Descargo el Link Identity Editor?

¿Donde Descargo el Link Identity Editor? no lo encuentro en las sources que tengo instaladas en cydia, ¿podria alguien poner la source do donde bajarlo?, Gracias q aquine me ayude :D


2.81, 1.50, 3.52 m33-4,3.11 m33-2, 3.80 M33-5 ,3.90 m33, 4.01 m33-2 ,5.00 m33-3, 5.50 GEN-D3 Buscando la perfeccion PSP

Wii Hombrew channel 1,8  wii.scenebeta.com 

iPhone 3G v4.1 Jailbreak iapps.scenebeta.com

Imagen de facine

Está en un repo por defecto

Está en un repo por defecto de cydia, dale a buscar y pon "LDID" (lo pongo en mayúscula para no confundir las letras) y le das al botón buscar, verás que es la única que sale.

 

el repo es "Cydia/Telesphoreo"


El silencio es el ruido más fuerte, quizá el más fuerte de los ruidos.

 

Imagen de Arbër

Muy buen aporte

Ayudas asi vienen muy bien a la comunidad, aportes completos y útiles.

Un saludo Facine =)

Imagen de facine

Muchas gracias, un placer

Muchas gracias, un placer aportar mi granito de arena.

 

saludos!

Imagen de Monty - Calabato64

De granito nada, me acabas de

De granito nada, me acabas de abrir las puertas hacia el Scenery.

GRACIAS!!

Imagen de RAVMN

espero pronto poder hacerlo..

espero pronto poder hacerlo.. gracias por darte el trabajo facine

Imagen de XxKillerxX7

Muy bueno ^^

Lastima que no tengo MacBook, pero pronto, pronto comprare una, muajajaaj

Salu2!

interesante voy a probarlo en

interesante voy a probarlo en la tarde

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.