Tanto por diversión como por razones presupuestarias, me gustaría tomar un paquete que normalmente requeriría una cuenta de desarrollador y crear una aplicación para ejecutarla en un dispositivo iOS con jailbreak.
Tengo un iPod Touch de quinta generación, con jailbreak usando evasi0n, con iOS 6.1.
Estoy usando Xcode 4.6 con OS X (10.8.2) Lion.
Los siguientes pasos instructivos para lograr este propósito se toman de: http://iphonedevwiki.net/index.php/Xcode
Mis hallazgos y acciones se proporcionan en cada paso.
1. Cree un certificado de firma de código autofirmado con el nombre "Desarrollador de iPhone" en el llavero de "inicio de sesión" (predeterminado) usando Acceso a Llaveros.
2. Abierto /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist
(4.2 o inferior: /Developer/Platforms/iPhoneOS.platform/Info.plist
). Es posible que necesite permiso de root.
.plist
archivo anterior.3. Reemplace todas las apariciones de XCiPhoneOSCodeSignContext
por XCCodeSignContext
. Hay tres de ellos (XCode Versión 3.2.4+).
4. Guarde el archivo y reinicie Xcode.
5. Asegúrese de tener ldid en su Mac. Coloque una copia en algún lugar, por ejemplo, en /usr/local/bin
.
/usr/local/bin
lo puse6. Cree el script de Python ldid3.py justo al lado del programa ldid. Hazlo ejecutable. Rellénalo con:
#!/usr/bin/env python
from sys import argv
from subprocess import check_call
from os.path import basename, dirname, splitext, join
from tempfile import NamedTemporaryFile
app = argv[-1]
ldid_path = join(dirname(__file__), 'ldid')
obj_path = join(app, splitext(basename(app))[0])
if '-gta' not in argv:
check_call([ldid_path, '-S', obj_path])
else:
with NamedTemporaryFile('w+b', 0) as f:
f.write("""
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>get-task-allow</key>
<true/>
</dict>
</plist>
""")
check_call([ldid_path, '-S' + f.name, obj_path])
ldid3.py
y lo almacené en el /usr/local/bin
directorio.chmod 777 /usr/local/bin/ldid3.py
.7. Abrir iPhoneCodeSign.xcspec
. Este archivo se puede encontrar en [Para Xcode 4.6: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec
]:
8. Cambie la entrada en el archivo de llamar codesign
a ldid3.py
.
sudo plutil -convert xml1 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec
<key>CommandLine</key><string>/usr/bin/codesign</string>
con <key>CommandLine</key><string>/usr/local/bin/ldid3.py</string>
.9. Guarde el archivo y reinicie Xcode.
10. Cree un archivo /var/mobile/tdmtanf
en el dispositivo para habilitar la "omisión de TDMTANF" de Apple en installd (advertencia: hacerlo también lo colocará en un GameCenter aislado).
tdmtanf
llamo , lo introduzco mediante SSH en mi iPod, lo subo a /var/mobile/
, y reinicio mi iPod.Abro mi proyecto Xcode existente y presiono Ejecutar. Funciona en el simulador de iOS sin ningún problema.
Me aseguro de que la firma de código esté configurada para usar el certificado configurado en el paso 1.
Construyo la aplicación (Proyecto > Construir). Sigue un mensaje de éxito.
Tomo la carpeta TicTacToe.app
de mi aplicación /Libary/Developer/Xcode/DerivedData/TicTacToe-cjgzmoxtflyegtfypsbxbuiuwxns/Build/Products/Debug-iphoneos/
y la transfiero a mi máquina con Windows para instalarla en mi iPod.
En un intento de instalar la aplicación en mi iPod, la arrastré TicTacToe.app
a la sección de aplicaciones de la Utilidad de configuración del iPhone, pero recibí este mensaje de error que dice que mi aplicación "no es una aplicación móvil válida".
También intenté instalar manualmente la aplicación usando iFunbox y la aplicación AppCake que se encuentra en Cydia. Ambos fallan.
Como punto de interés, porque mientras busqué en Google, noté que muchas personas mencionan la importancia de esto: tengo AppSync instalado. (Perdón por la enorme captura de pantalla. Si debo quitarla, ¡házmelo saber!)
Entonces, a pesar de seguir las instrucciones de cerca, varias veces, la Utilidad de configuración de iPhone no reconoce mi aplicación como una aplicación válida. No puedo instalar la aplicación manualmente usando programas como iFunbox o aplicaciones de Cydia como AppCake.
Sospecho que la aplicación no es válida, pero después de haber seguido las instrucciones cuidadosamente, no estoy seguro de por qué.
¿Alguien puede decirme por qué mi aplicación no es válida y qué puedo hacer para solucionarlo, además de gastar dinero?
Puede conectar su dispositivo y seleccionar su dispositivo iOS como destino de ejecución. cuando se ejecuta, la aplicación se instala automáticamente en su dispositivo. O puede seleccionar su dispositivo iOS, entonces no es necesario ejecutarlo, solo compilarlo y archivarlo. Después de eso, distribuya... elija Guardar para Enterprise o Ad-Hoc Deployment. Obtendrá su archivo .ipa. Espero que te ayude..
Continuando con la respuesta de @joncom ... puede agregar los archivos .app a su iPhone directamente, solo con unos pocos pasos adicionales.
.app
archivo en su escritorio y luego comprímalo[yourappname].zip
a[yourappname].ipa
NOTA:
también puede hacer esto directamente sin pasar por todas las modificaciones del código python que mencionó @joncom. Lea más aquí
elcafremo
Roberto
raallvv
usuario46393