iphone - cdvstatusbar - status bar background color ios cordova
Sencha+PhoneGap (3)
Estoy a punto de desarrollar una aplicación para iPhone usando Sencha Touch + PhoneGap y tengo algunas preguntas muy básicas:
1) Quiero leer un archivo XML que se encuentra en la ubicación http://abc.om/app/a3/ . Usé Sencha para leer este xml, pero me da el siguiente error:
XMLHttpRequest no puede cargar la url. Origin no está permitido por Access-Control-Allow-Origin.
¿Es este el método / enfoque correcto para usar Sencha para leer el XML? En caso afirmativo, ¿cómo puedo resolver el problema anterior? Alguien dijo que Sencha está del lado del cliente y que no puede leer el Xml fuera del dominio. ¿Es cierto? ¿Qué sucede en una aplicación móvil? ¿Debo usar Phonegap aquí?
2) A medida que desarrollo una aplicación para el iPhone, ¿cómo debo verificar la aplicación usando Chrome? ¿O usando Phonegap cada vez y luego verificarlo en un iPhone?
En general, las aplicaciones PhoneGap no sufren restricciones de seguridad entre dominios una vez que se implementan en un dispositivo móvil. Las razones para esto son diferentes dependiendo de la plataforma en la que esté desarrollando, pero para iPhone, es porque los activos de su PhoneGap local se cargan en el navegador en el iPhone usando el file:///
URI; esto le permite evitar la restricción de seguridad entre dominios. Si está creando un sitio web regular alojado en un servidor, esta política de seguridad le restringe. Es uno de los beneficios de crear aplicaciones PhoneGap.
No estoy 100% familiarizado con Sencha, pero puede usar cualquier marco sobre el objeto XMLHttpRequest básico para hacer comunicación entre dominios en PhoneGap. Ya sea Sencha, jQuery, xui, MooTools, etc.
Para probar las aplicaciones PhoneGap, suelo usar una combinación de mis navegadores de escritorio y algunas herramientas adicionales para ayudarme. En su caso, si carga su aplicación PhoneGap localmente en su computadora en un navegador como Safari (que le permite hacer XHRs fuera del
file:///
URI), no verá los problemas entre dominios. Safari es uno de los pocos navegadores que te permite hacer esto. Alternativamente, puede usar un proxy en su computadora local y hacer que su servidor web local realice las solicitudes de red y los vuelva a enviar a su aplicación. Tiendo a utilizar una herramienta increíble llamada prestidigitación , que es un servidor web node.js que remite las solicitudes de proxy a un dominio externo de destino si el servidor no puede encontrar el recurso solicitado localmente en su computadora. Trataré de presentar un ejemplo de uso de la prestidigitación para ti:- Supongamos que los activos de la aplicación PhoneGap se encuentran en ~ / src / www, con la aplicación en index.html
- También suponiendo que desea acceder al dominio abc.com desde su aplicación PhoneGap
Deberías usar juegos como este:
$ cd ~/src/www
$ sleight target=abc.com
Ahora tiene un servidor web local ejecutándose que sirve todo el contenido en su directorio www. Desde su página index.html, ahora puede enviar XHR a http://abc.om/app/a3/ , y el truco le devolverá los poderes. De modo que puede apuntar su navegador a http: // localhost: 8088 / index.html y obtendrá index.html de la aplicación PhoneGap.
Sleight es una herramienta increíble para el desarrollo de PhoneGap, ya que le permite probar sus aplicaciones PhoneGap sobre la marcha en su computadora.
Con respecto a la pregunta n. ° 2, la respuesta de Ronenz funciona.
También puedes encontrar varias extensiones de Chrome.
Por ejemplo, estoy usando este, fácil de habilitar y deshabilitar:
https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi
Con respecto a la pregunta n. ° 2: puede usar "chrome --disable-web-security" para eludir la restricción del mismo dominio y ejecutar la aplicación de su teléfono.
Editar: Al igual que en la versión 48 de Chrome, también debe agregar el indicador "--user-data-dir". Ver esta pregunta