Los siguientes pasos instructivos para lograr este propósito se toman de:
enlace
Mis conclusiones y acciones se proporcionan en cada paso.
1. Cree un certificado de firma de código autofirmado con el nombre de "Desarrollador de iPhone" en el llavero de "inicio de sesión" (predeterminado) usando Acceso a Llavero.
- Tomé capturas de pantalla siguiendo las instrucciones anteriores.
- Dejé la mayoría de los campos en blanco o en su valor predeterminado.
2.Abra/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist
(4.2oinferior:/Developer/Platforms/iPhoneOS.platform/Info.plist
).Esposiblequenecesitepermisoderoot.
- EstoyusandoXcode4.6,asíqueabríelarchivo
.plist
anterior.
3.ReemplacetodaslasaparicionesdeXCiPhoneOSCodeSignContext
porXCCodeSignContext
.Haytresdeellos(XCodeversión3.2.4+).
- Hicetresmodificacionescomoindicanlascapturasdepantalla.
4. Guarde el archivo y reinicie Xcode.
5. Asegúrate de tener ldid en tu Mac. Coloque una copia en algún lugar, por ejemplo. en /usr/local/bin
.
- Descargué ldid de enlace
- Lo puse en
/usr/local/bin
.
6. Cree un script de Python ldid3.py justo al lado del programa ldid. Hazlo ejecutable. Rellénelo 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])
- Creé un nuevo archivo de texto sin formato y copié y pegué el código anterior en él.
- Guardé este archivo como
ldid3.py
y lo almacené en el directorio /usr/local/bin
.
- En la terminal, ejecuté
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 a codesign
a ldid3.py
.
- De acuerdo con la instrucción oficial de instrucciones, convirtió el archivo de especificaciones en texto sin formato escribiendo en la consola:
sudo plutil -convert xml1 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec
- Abrí el archivo con TextEdit.
- Se reemplazó
<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.
- Guardé el archivo y salí de TextEdit.
10. Cree un archivo /var/mobile/tdmtanf
en el dispositivo, para habilitar la "omisión TDMTANF" de Apple en la instalación (advertencia: al hacerlo, también lo colocará en un Centro de Juegos).
- Creo un archivo de texto vacío en Windows, lo nombré
tdmtanf
, SSH'd en mi iPod, lo subí a /var/mobile/
y reinicié mi iPod.
Ahora que todo eso ha terminado con ...
Abro mi proyecto Xcode existente y pulso Ejecutar. Funciona en el simulador de iOS sin ningún problema.
Measegurodequelafirmadecódigoestéconfiguradaparausarelcertificadoconfiguradoenelpaso1.
Construyo la aplicación (Proyecto > Build). Sigue un mensaje de éxito.
Agarro mi carpeta de aplicaciones TicTacToe.app
de /Libary/Developer/Xcode/DerivedData/TicTacToe-cjgzmoxtflyegtfypsbxbuiuwxns/Build/Products/Debug-iphoneos/
y la transfiero a mi máquina Windows para instalarla en mi iPod.
En un intento de instalar la aplicación en mi iPod, 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 he intentado instalar manualmente la aplicación usando iFunbox y el AppCake aplicación encontrada en Cydia. Ambos fallan.
Como punto de interés, porque como he buscado en Google, he notado que muchas personas mencionan la importancia de esto: tengo instalado AppSync. (Perdón por la gran captura de pantalla. Si debo eliminarlo, hágamelo saber)
Conclusión
Entonces, a pesar de seguir las instrucciones de cerca, varias veces, la Utilidad de configuración del iPhone no reconoce mi aplicación como una aplicación válida. No puedo instalar la aplicación manualmente utilizando programas como iFunbox o aplicaciones Cydia como AppCake.
Sospecho que la aplicación no es válida, pero habiendo 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 solucionar esto, además de expulsar el dinero?