realidad aumentada apps apple app iphone

aumentada - iphone simulator



Dispositivo de iPhone vs. simulador de iPhone (25)

La biblioteca de videos de iphone no está accesible en el simulador, pero el código funciona bien en el dispositivo real

He oído que las aplicaciones no funcionan correctamente en el simulador, pero funcionan correctamente en el dispositivo real de iPhone. ¿Alguien ha experimentado una aplicación que funciona perfectamente en el simulador pero no en el dispositivo real de iPhone?


Al intentar acceder a UIDevice.currentDevice (), devuelve iOS Simulator en lugar del dispositivo real que está probando. Esto apesta, ya que no puedes hacer ciertas cosas en el simulador.


El orden en que se evalúan los parámetros de función / constructor es diferente:

int i = 0; int f() { return ++i; } int a, b; int test(int p1, int p2) { a = p1; b = p2; } test( f(), f() ); //simulator: a = 2, b = 1 //device: a = 1, b = 2


En cuanto a los sonidos, estaba teniendo el mismo problema. El problema era que las codificaciones de sonido que admite el simulador son un conjunto diferente de sonidos que el dispositivo. Espero que eso ayude.


Hay ciertos bits de código que no funcionarán en el simulador (usando el iPhone Keychain, por ejemplo), pero para casi todas las aplicaciones, el simulador funcionará exactamente como el iPhone.

Dicho esto, no hay absolutamente ningún reemplazo para probar en un dispositivo real.


Hay muchos ejemplos triviales. Por ejemplo, puede asignar mucha más memoria en el simulador que en un teléfono real. No puede recibir notificación push en el simulador si no tiene una retina Mac, el punto de visualización es diferente.

En un nivel más fundamental, el simulador es solo eso, simula el iPhone OS X utilizando Mac OS X. Esto se evidencia por el hecho de que el sistema de archivos en el simulador puede no ser sensible a mayúsculas y minúsculas, pero en el teléfono lo será. De manera más sutil, no emula el hardware, por lo que la ubicación no funcionará igual y el 3D será muy diferente, especialmente si está utilizando Metal.

Siempre debe probar en hardware real.


He tenido problemas en las aplicaciones que consumen mucha memoria donde el simulador funcionaría bien (porque asumiría que la memoria del iPhone / iPod Touch era tuya), mientras que el dispositivo se bloqueaba (porque otras aplicaciones se habían filtrado y el fondo de Apple) los servicios habían consumido un poco de memoria) y no había implementado una gestión de memoria adecuada o una respuesta al selector didReceiveMemoryWarning .


He visto la posición de los objetos, como las barras de herramientas, ser diferentes en el simulador que en el teléfono. Muy molesto.


La carga de recursos en el simulador es MUCHO más rápida que en el dispositivo. Por ejemplo, cargar y mostrar una secuencia de UIImages pantalla UIImages (como un video rudimentario) puede verse muy suave en el simulador y estar picado en un dispositivo.

De hecho, recuerde que hay una gran diferencia de velocidad entre diferentes dispositivos. El iPhone original y el iPhone 3G son más lentos que el iPod touch 2nd Gen, que también es mucho más lento que el iPhone 3GS, y así sucesivamente.


Las funciones de trigonometría pueden arrojar resultados diferentes:

float a = cosf( 0.108271248639 ); printf("%.12f", a); //simulator: 0.994144439697 //device: 0.994144380093


Las puntas de los dedos son más grandes que el punto final de 1 píxel del cursor del mouse. Para hacer las pruebas de usabilidad adecuadas, incluso mínimas, debe implementar su aplicación en un dispositivo.


Los nombres de archivo distinguen entre mayúsculas y minúsculas en el iPhone, pero no en el simulador.

Entonces, por ejemplo, si intenta cargar una imagen con UIImage *iconImage = [UIImage imageNamed:"MyIcon.png"] , pero su recurso se llama realmente "myicon.png", entonces funcionará en el simulador, pero no en el dispositivo.


Sé que hay algunas diferencias en la implementación de OpenGL ES entre el dispositivo y el simulador. Por lo que entiendo, esto se debe principalmente a que el chip de gráficos en el iPhone (PowerVR MBX) tiene capacidades muy diferentes a las de otras máquinas Mac. Muchos de los límites de hardware no se aplican en el simulador, por lo que es completamente posible ejecutar algo en el simulador que se bloqueará por completo en el dispositivo.

También hay algunas extensiones de OpenGL ES compatibles con el hardware de iPhone que no son compatibles con el simulador. Creo que el principal es la compresión de textura PowerVR (PVRTC).

Otro área problemática puede ser la huella de memoria. Anecdóticamente, no he visto que el simulador aplique automáticamente las limitaciones de memoria del dispositivo. Por lo tanto, es posible tener algo que se ejecute en el simulador, que consuma felizmente cantidades copiosas de RAM y nunca se moleste en liberarlo para terminar rápidamente después de una breve continuación de dicho comportamiento cuando se ejecuta en un dispositivo.


Sí, me pasó el otro día. Soy nuevo en el iPhone y, por lo tanto, eliminé MainWindow.xib pensando que no estaba en uso. La aplicación funcionó perfectamente en el simulador, pero se bloqueó cuando se instaló en el teléfono.

Otro problema con el que tropezamos fueron nuestras tres dependencias, que se configuraron en ios 3.2 en lugar de 4.1. Funcionó perfectamente en el simulador, pero fue bombardeado en el dispositivo (ya que los archivos fueron compilados para el arco incorrecto).


Sí....

Las aplicaciones compiladas para 2.x funcionarán bien en el dispositivo 3.0, pero se bloqueará en 3.0Simulator

Nota: 1. Si compila para 3.0, la aplicación funcionará bien en el simulador 3.0 también ... 2. a) Compile para 2.x y ejecute la aplicación en el simulador. b) Ahora cambie el Hardware del simulador de iPhone a "3.0". c) Luego, inicie la aplicación que instalamos anteriormente en el paso a). CRASH !!!!!!!!


Si habilita GCC_ENABLE_FLOATING_POINT_LIBRARY_CALLS, su aplicación se bloqueará en el simulador pero funcionará en el iPhone.

Las llamadas de gráficos de cuarzo en el simulador de iPhone son más rápidas que las llamadas de Java2D en la misma computadora: rápido.


Si la barra de estado de la aplicación está oculta, en el caso del simulador, aún consume el evento táctil. Pero en el dispositivo se comporta a la perfección.


Si su aplicación es intensiva en gráficos, como por ejemplo un juego, el rendimiento del simulador NO se parece en nada al del hardware. Es probable que su aplicación sea fluida y funcione bien en el simulador, pero en el hardware probablemente se renderice a menos que sepa lo que hace. Puede pasar fácilmente de 60 fps a 3 fps entre Simulator y hardware.


Sin considerar las diferencias de rendimiento entre los dos, solía haber algunas cosas que el simulador no hacía correctamente, es decir, podría estropear el audio en algunos casos (vea esta pregunta ). Sin embargo, desde el 2.2 SDK, este problema se ha resuelto y el sonido parece estar bien en el simulador. ¡Eso no quiere decir que haya otras incompatibilidades escondidas allí! (No me he topado con ninguno)


También tenga en cuenta que compilará los marcos de OS X (cuando corresponda) al compilar para el simulador, por lo que podría estar utilizando métodos y clases que no están disponibles en las versiones de iPhone de los marcos.

Un ejemplo en el que puedo pensar es NSPredicate. Pude compilar y ejecutar una aplicación usando NSPredicate en el simulador, pero no compilaría para el dispositivo ya que esa clase no está disponible.


Tenía algunos efectos de sonido que funcionaban bien en el simulador, pero no en el dispositivo. Tuve que cambiar el formato a algo que el dispositivo manejaría.


Tuve muchos problemas con las bibliotecas y los marcos cuando pasé del simulador al dispositivo. ¡No menos importante es que parecen tener arquitecturas diferentes!


Tuve un problema al ejecutar un temporizador de 1/30 seg relativamente simple para hacer actualizaciones para un juego. Funciona bien en el simulador y congela la entrada en el dispositivo.


Una gran cosa que me tomó un tiempo detectar fue que el simulador no admite tokens de dispositivo, por lo que cualquier código que los involucre no se ejecutará en el simulador.

Tenía un error en el que la aplicación funcionaba bien en el simulador, pero se bloqueaba cuando lo ejecutaba en un dispositivo porque había un error en el código del token del dispositivo. ¡No pude resolverlo por mucho tiempo!


archivo de película (tipo m4v) ya que mi experiencia es la primera vez que se reproduce correctamente

pero en el segundo parpadea la pantalla del simulador ...

mientras que en el dispositivo iPhone funciona fime ...