¿Cómo puedo instalar un archivo .ipa en mi simulador de iPhone?

165

Tengo un simulador de iPhone ejecutándose en mi Mac.

Tengo un archivo .ipa, ¿podría decirme cómo puedo instalarlo en el simulador?

yinglcs
fuente

Respuestas:

137

No puedes Si se descargó a través de la tienda iTunes, se creó para un procesador diferente y no funcionará en el simulador.

agosto
fuente
12
Agregaría que la única forma de iniciar una aplicación de iPhone en el simulador es compilarla desde XCode usted mismo con el Simulador como objetivo activo.
Alex Wayne
1
Puede ejecutar el archivo de aplicación del proyecto en el simulador.
humildePilgrim
3
Parece que alguien a continuación tuvo algo de éxito haciendo esto. hackear, pero si funciona, es útil saberlo.
Randy L
13
Cualquiera que afirme haber ejecutado aplicaciones de iPhone en el simulador es delirante. El simulador de iPhone no es un emulador, no puede ejecutar código ARM.
duskwuff -inactive-
16
Mostrará el ícono en el simulador usando la técnica a continuación, sin embargo, nuestra aplicación se bloquea inmediatamente cuando se ejecuta.
Matt Hudson
104

Encontré un archivo .ipa que quería usar iTunes y lo copié en mi escritorio.

Después de eso cambié la extensión .zipy la extraje.

Luego encontré la carpeta Payload y moví la aplicación dentro de mi escritorio.

Finalmente moví esa aplicación a mi carpeta de aplicaciones de simuladores de iPhone que se encuentra en:

  • HD
  • > Aplicaciones
  • > Xcode.app (clic derecho - Mostrar contenido del paquete)
  • > Contenidos
  • > Desarrollador
  • > Plataformas
  • > iPhoneSimulator.platform
  • > SDK
  • > iPhoneSimulator6.0.sdk
  • > Aplicaciones

¡Espero que esto ayude! (Nota: algunas aplicaciones se bloquean con más frecuencia que otras).

Keeton Feavel
fuente
28
@DataGreed: se movió a HD> Aplicaciones> Xcode.app (clic derecho - Mostrar contenido del paquete)> Contenido> Desarrollador> Plataformas> iPhoneSimulator.platform> SDKs> iPhoneSimulator6.0.sdk> Aplicaciones
Richard Poole
77
La ruta para XCode 4.3 o posterior en OSX está en la siguiente ubicación (tenga en cuenta que la parte 5.1 puede ser diferente en su máquina) /Aplicaciones/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5. 1.sdk / Aplicaciones
Brad Parks
14
aplicación que aparece en el simulador ... pero se bloquea tanto en iOS6 como en iOS7
Sri
1
@DataGreed: mencionaste la ubicación correcta. La respuesta mencionada por Keeton me ayudó a instalar la aplicación de LinkedIn, pero está fallando. ¿Alguna solución?
Jayprakash Dubey
3
Confirmo que este método de instalación funcionará incluso en marzo de 2016. (Aunque se bloqueó, pero se instaló)
jeet.chanchawat
66

En Xcode 6+ y iOS8 + puedes hacer los simples pasos a continuación

  1. Pegue el archivo .app en el escritorio.
  2. Abra la terminal y pegue los siguientes comandos:

    cd desktop

    xcrun simctl install booted xyz.app

  3. Abra el simulador de iPhone y haga clic en la aplicación y use

Para versiones inferiores a iOS 8, realice los siguientes pasos simples.

Nota: querrá asegurarse de que su aplicación esté construida para todas las arquitecturas, el Simulador está x386en la Configuración de compilación y Build Active Architecture Onlyconfigurado en No.

  1. Ruta: Biblioteca-> Soporte de aplicaciones-> Simulador de iPhone-> 7.1 (u otra versión si la necesita) -> Aplicaciones
  2. Crea una nueva carpeta con el nombre de la aplicación
  3. Vaya dentro de la carpeta y coloque el archivo .app aquí.
sinh99
fuente
23
Este comando funcionó pero la aplicación se bloquea porque no se creó para el simulador. :(
JamesDeHart
55
Obteniendo "No se inicia ningún dispositivo".
Vijay Sharma
77
Esto es útil para cualquier persona que haya creado una aplicación en el simulador y quiera ejecutarla en un simulador diferente. Tenga en cuenta que la pregunta original era sobre un archivo .ipa aunque no un .app
ChrisH
55
Si tiene un .ipa, simplemente cambie el nombre a .zip y extráigalo para obtener el .app
delrox
3
@Vijay Tuve que iniciar manualmente el Simulador de iPhone antes del paso 2, pero de lo contrario esto funciona bien.
Glorfindel el
35

Para Xcode 9.4.1 y simuladores más recientes:

Espero que mi respuesta se vea aquí, ya que me llevó un tiempo entenderlo, pero lo conseguí funcionando.

En primer lugar, debe crear y ejecutar la aplicación en su simulador. Luego abres el Monitor de actividad . Haga doble clic en el nombre de su aplicación para encontrar su contenido.

ingrese la descripción de la imagen aquí

En la siguiente pantalla, abra la pestaña Abrir archivos y puertos y busque la línea con MyAppName.app/MyAppName.

ingrese la descripción de la imagen aquí

Copie el enlace, pero asegúrese de detenerse en MyAppName.app . No copie la ruta que lo sigue.

Haga clic en el icono del buscador y seleccione Ir a la carpeta .

ingrese la descripción de la imagen aquí]

Pegue la ruta y haga clic en enter. Verá su archivo MyAppName.app. Cópielo en el escritorio y comprímalo. Muévalo a la segunda computadora deseada y descomprima el archivo. Cree un proyecto aleatorio para tener un simulador abierto.

Por último: literalmente arrastre y suelte la aplicación desde su escritorio en su simulador. Verá la instalación y la aplicación se abre y no se bloquea.

ingrese la descripción de la imagen aquí

David Seek
fuente
77
voto negativo sin un comentario para una respuesta que funciona: D impresionante
David Seek
¡Funciona para transferir versiones de desarrollo a otros simuladores!
Alex Pelletier
1
@AlexPelletier, ¿no es ese el punto de lo que estamos hablando aquí? xD
David Seek
33

No puede ejecutar un archivo ipa en el simulador porque el archivo ipa está compilado para la arquitectura ARM de un teléfono, no para la arquitectura x86 del simulador.

Sin embargo, puede extraer una aplicación instalada en un simulador local, enviarla a otra persona y hacer que la copien al simulador en su máquina.

En la terminal, escriba:

open ~/Library/Application\ Support/iPhone\ Simulator/*/Applications

Esto abrirá todas las carpetas de aplicaciones de todos los simuladores que haya instalado. Cada una de las aplicaciones estará en una carpeta con un nombre hexadecimal aleatorio. Puede averiguar cuál es su aplicación mirando dentro de cada una de ellas. Una vez que haya encontrado cuál desea, haga clic derecho y elija "Comprimir ..." y creará un archivo zip que puede copiar fácilmente en otra computadora y descomprimir en una ubicación similar.

rjmunro
fuente
2
En iOS 8 se movió a aplicaciones por dispositivo: ~ / Library / Developer / CoreSimulator / Devices / 594C6B4D-AB19-479B-A047-240361C51D95 / data / Applications / Soopen ~/Library/Developer/CoreSimulator/Devices/*/data/Applications
CC.
O bien, puede extraerlo de su simulador, iniciar otro (cambiar la versión del sistema operativo) y luego instalarlo allí.
Alex Zavatone
44
Desde iOS 10, debe copiar ambas carpetas de aplicaciones con nombre hexadecimal de las siguientes ubicaciones: de lo ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Data/Application/ ~/Library/Developer/CoreSimulator/Devices/*/data/Containers/Bundle/Application/contrario, la aplicación no se mostrará en el simulador.
Macucula
31

ACTUALIZACIÓN: para Xcode 8.0+ debe seguir los pasos a continuación:

  1. Descargar la aplicación de iTunes
  2. Seleccione la aplicación descargada, haga clic derecho en el buscador
  3. Copie el .ipaarchivo al escritorio, cámbiele el nombre a .ziparchivo
  4. Extraiga ese .ziparchivo y obtendrá un directorio con el nombre de la aplicación
  5. Verifique ese directorio donde encontrará el apparchivo en la carpeta Payload , copie este apparchivo

  6. Ir ~/Library/Developer/CoreSimulator/Devices

FYI: la Librarycarpeta está oculta de forma predeterminada en mac, puede ver el archivo oculto con el siguiente comando.

defaults write com.apple.finder AppleShowAllFiles YES;
killall Finder /System/Library/CoreServices/Finder.app

Ahora aquí verá muchos directorios con nombres hexadecimales largos, todos estos son simuladores.

Para encontrar el simulador deseado, ordene estos directorios usando "Organizado por> Fecha de modificación".

Seleccione ese archivo de simulador y vaya a la ubicación a continuación.

  1. <HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/
  2. Cree un nuevo nombre de carpeta con <download-app-name>y pegue el apparchivo en esa carpeta
  3. Abra la Terminal y ejecute el siguiente comando para instalar esta aplicación

    xcrun simctl install booted <APP_FILE_PATH>

El ejemplo <APP_FILE_PATH>será el siguiente:

~/Library/Developer/CoreSimulator/Devices/<HEXADECIMAL-SIMULATOR-STRING>/data/Containers/Bundle/Application/<APP_NAME>
Kampai
fuente
2
Puedes usarlo xcrun simctl listpara encontrar el simulador y los códigos
Paulo Amaral
3
Esto parece funcionar, pero su ruta de aplicación de ejemplo necesita un / después del ~ al principio, y la ruta debe ir hasta el archivo .app, no solo el directorio que lo contiene.
esmerilado
1
Si desea encontrar el simulador que se está ejecutando actualmente, puede usarloxcrun simctl list | grep Booted
cjbarth
1
¿Cómo puede funcionar esto de manera confiable para cualquier aplicación descargada? Dado que solo se requieren binarios de brazo, ¿qué más estaría haciendo xcode para que funcione? a menos que se refiriera solo a las aplicaciones donde tenía todos los activos originales para reorientar de todos modos?
whitneyland
19

En primer lugar, las IPA generalmente solo tienen segmentos ARM porque la App Store actualmente no acepta segmentos Simulator en las cargas.

En segundo lugar, a partir de Xcode 8.3 puede arrastrar y soltar un .apppaquete en la ventana del simulador y se instalará. Puede encontrar la aplicación en su directorio de productos de compilación ~/Library/Developer/Xcode/DerivedData/projectname-xyzzyabcdefg/Build/Products/Debug-iphonesimulatorsi desea guardarla o distribuirla a otras personas.

Para instalar desde la línea de comandos use xcrun simctl install <device> <path>.

devicepuede ser el UUID del dispositivo, su nombre o lo bootedque significa el dispositivo arrancado actualmente.

obispo ruso
fuente
2
Sí, puede arrastrar y soltar el .apparchivo, pero eso no copia todo lo que el simulador necesita para ejecutarlo. La aplicación con la que estoy trabajando se bloquea de inmediato. Xcode v. 8.3.3
Matthew Poer
55
Sí, por definición, incluye todo lo necesario. Cuando Xcode instala una aplicación en el simulador, pasamos una ruta al .apparchivo y eso es lo que se instala. Su aplicación se bloquea por un motivo diferente.
russbishop
6

Puede ejecutar el archivo de aplicación del proyecto en el simulador, no el archivo .ipa.

Puede obtenerlo de:

Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->entonces puede ver muchos archivos como 0CD04F....encontrar el archivo de su aplicación abriéndolo.

Puede copiar el archivo a la ubicación de su sistema (qué simulador de sistema necesita ejecutar) Libraries-->Applicationsupport-->iphone simulator-->4.3(its your simulator version)-->applications-->

Luego abra el simulador 4.3 (es la versión de su simulador donde lo pegó). Puedes ver la aplicación instalada allí.


Obteniendo de otras personas:

Dígales que lo descubran Libraries-->Applicationsupport-->iphone simulator-->4.3(its ur simulator version)-->applications-->para que pueda ver muchos archivos como 0CD04F....de su sistema y recibir ese archivo de ellos.

Una vez que hayan obtenido el archivo, copie y pegue el archivo en su sistema `Bibliotecas -> Soporte de aplicaciones -> simulador de iphone -> 4.3 (es su versión de simulador) -> aplicaciones -> (pegue el archivo aquí )

Luego puede ver que la aplicación está instalada en su simulador de sistema y puede ejecutarla después de hacer clic en el archivo.

humilde peregrino
fuente
5

Copiar desde aquí:
- Ejecute la aplicación en Xcode. - Seleccione Finder, vaya a Ir y haga clic en Biblioteca de biblioteca / Soporte de aplicaciones / iPhone Simulator / 7.0.3-64 / Aplicaciones - Seleccione carpeta de 32 bits Copie su aplicación.

Pegue aquí:
- /Applications/Xcode-Beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhone Simulator. SDK / Aplicaciones
: pegue aquí y ejecute el simulador.

Satheesh Guduri
fuente
4

Con Xcode 6:

Es muy posible construir e instalar en un simulador.

Lo hice copiando la configuración de compilación de depuración (la llamé SimRelease para mi ejemplo a continuación) en la configuración del proyecto. Cambié las arquitecturas a i386 y x86_64 (no estoy seguro de cuán necesario era), pero la diferencia clave para cambiar entre la configuración de compilación copiada es compilar para la arquitectura activa establecida en NO. ¡Después de eso, un par de simples herramientas de línea de comando harán el resto!

xcodebuild -scheme YOUR_SCHEME -configuration SimRelease -sdk iphonesimulator8.1

Dependiendo de dónde tenga configurado su DerivedData, debe buscar la carpeta .app de salida. Una vez que lo haya encontrado, simplemente puede instalarlo en cualquier dispositivo simulador. Para encontrar el Xcode abierto del UUID del dispositivo y vaya a Ventana-> Dispositivos, verá la lista de instancias del dispositivo y puede tomar los UUID. Para una secuencia de comandos trivial, puede obtenerlos de: ~ / Library / Developer / CoreSimulator / Devices / e instalarlos en cada dispositivo.

A partir de ahí, el comando simple para instalar en un dispositivo es:

xcrun simctl install DEVICE_ID APP_FOLDER_LOCATION

Aquí hay un script de shell simple para tomar la aplicación e instalarla en cada dispositivo:

app_dir=$1
current_dir=$(pwd)
cd ~/Library/Developer/CoreSimulator/Devices/
devices=$(ls -d */)
cd "$current_dir"
for device in $devices
do
    device_id=${device%/}
    xcrun simctl install "$device_id" "$app_dir"
done

¡Espero que esto ayude! Me tomó un tiempo descubrir la mejor manera de hacerlo.

rfrittelli
fuente
este script es más corto: xcrun simctl install booted APP_FILE_PATH Pero cuando instala la aplicación en el simulador, la aplicación no puede ejecutarse
--ông Hà
4

Para Xcode 10, aquí hay una manera fácil que funcionó para mí para una IPA de depuración (perfiles de desarrollo)

  1. Descomprima el IPA para obtener la carpeta Payload.
  2. Dentro de la carpeta Payload está el ejecutable de la aplicación.
  3. Arrastra y suelta la aplicación en un simulador abierto. (Es posible que vea un botón de agregar verde cuando lo arrastre sobre el simulador)

Debería instalar esa aplicación en ese simulador.

Swasidhant
fuente
Funciona para mí, he cambiado el nombre de "my-app.ipa" a "my-app.ipa.zip" y luego lo descomprimí usando la aplicación macos Finder. Si desea instalar la aplicación utilizando el terminal:xcrun simctl install "simulator-name" /path/to/my-app.app
Alex Buicescu
0

Paso para ejecutar en un simulador diferente sin ningún repositorio de código: -

Primero cree un .app construyendo su proyecto (en la carpeta del proyecto en Xcode) y péguelo en una ubicación adecuada (consulte la imagen para obtener más claridad)

ingrese la descripción de la imagen aquí

  1. Descargar Xcode
  2. Cree un proyecto de demostración y un simulador de inicio en el que desee ejecutar la aplicación.
  3. Copie el archivo .app en una ubicación particular (por ejemplo: - Escritorio).
  4. cd Desktop y ejecute el comando (xcrun simctl install booted appName.app),
  5. La aplicación se instalará en el simulador de arranque particular.
Anurag Bhakuni
fuente