Posts Tagged ‘iphone’

Javascript: comprobar si navegador soporta WebKit

Thursday, May 27th, 2010

En realidad, el código para esta comprobación es muy similar al utilizado para chequear si el navegador pertenece a un dispositivo móvil (p.e. iPhone o Android), lo cual podemos aprovechar para redirigirlo a un sitio “mobile-friendly” o aplicar un theme más adecuado para la visualización en pantallas reducidas.

En el caso del soporte para WebKit, podemos aplicar un comportamiento diferente si el navegador no soporta, por ejemplo, las transiciones, etc.

Código javascript:

//Initialize our user agent string to lower case.
var uagent = navigator.userAgent.toLowerCase();

var webkitSupport= "webkit";
//**************************
// Detects if the current browser supports WebKit.
function DetectWebKit() {
   if (uagent.search(webkitSupport) > -1)
      return true;
   else
      return false;
}

En el caso de aplicaciones generadas con Dashcode, esta comprobación puede ser suficiente.

Por ejemplo, la versión para móviles de este blog:

http://blog.ilikeblues.com/iphone

se comporta correctamente en iPhone, Android, Chrome, etc.


Javascript: comprobar si el dispositivo es Android

Tuesday, May 25th, 2010

Con la reciente adquisición de mi HTC Desire, he estado probando el navegador que viene “de serie”, en concreto visitando este blog, y la versión que hice de este blog para iPhone.

En otro post indicaba cómo hacer la comprobación javascript para detectar si el navegador es de iPhone y redirigirlo al sitio adecuado.

He aquí el código para comprobar si el dispositivo que estamos usando es Android y redirigirlo al mismo sitio que en caso de que sea iPhone, puesto que ambos navegadores soportan la salida generada usando Dashcode:

//Initialize our user agent string to lower case.
var uagent = navigator.userAgent.toLowerCase();

var deviceAndroid = "android";
//**************************
// Detects if the current device is an Android OS-based device.
function DetectAndroid() {
   if (uagent.search(deviceAndroid) > -1)
      return true;
   else
      return false;
}

Vía | http://www.hand-interactive.com


AsistenteJeVWeb v1.0 released

Monday, March 29th, 2010
AsistenteJeVWeb v1.0 released

Liberada la versión 1.0 para instalación “offline” en la pantalla de incio de iPhone/iPod Touch de AsistenteJeVWeb.

Sigue las instrucciones en el siguiente enlace:

AsistenteJeVWeb

Sucesivas versiones incluirán más “features” y más lecciones gramaticales.

Esta versión funciona en navegadores que soporten HTML5 y WebKit (probado en Chrome 5 y Safari 4).


Aplicación Offline para iPhone

Monday, March 29th, 2010

Ya son varios los artículos que he leído acerca del tema de creación de aplicaciones Web Offline para iPhone  (aquí el último) y, generalmente, dejan de lado un tema importante, obviándolo o dándolo por supuesto, que suele dar quebraderos de cabeza (al menos a mí me los ha dado).

El tema es que, es imprescindible configurar correctamente el servidor en que está colgada la aplicación para que, al cargarla en el iPhone, éste la “cachee” adecuadamente.

El “quid”: el fichero declarado como manifest debe ser interpretado por el servidor con el MIME type “text/cache-manifest”. En otro caso, por ejemplo “text/plain”, al intentar abrir la aplicación en ausencia de conexión, obtendremos un error.

Si el servidor es Apache (no conozco ninguno más, al fin y al cabo, soy desarrollador, no administrador) es relativamente sencillo. Necesitamos un fichero .htaccess en la misma carpeta en que se encuentre la aplicación, con el sigueinte contenido:

AddType text/cache-manifest .manifest

Por supuesto el fichero manifest deberá tener la extensión “.manifest”, en otro caso la directiva no sirve para nada.

Además, el servidor Apache debe estar correctamente configurado para que interprete nuestro fichero .htaccess.


Javascript: comprobar si es el navegador de iPhone

Tuesday, October 20th, 2009

El siguiente código Javascript comprueba si el navegador actual es el de iPhone:

function iPhoneCheck() {
var agent = navigator.userAgent.toLowerCase();
var iphone = (agent.indexOf('iphone')!=-1);
if (iphone) {
return true;
} else {
return false;
}
}

Vía: http://blog.unijimpe.net/detectar-browser-iphone/


Conexión a Base de Datos Safari-JavaScript

Monday, October 19th, 2009

Para realizar la conexión a una base de datos  mediante Javascript, podemos utilizar el siguiente código:

try {
   if (!window.openDatabase) {
      alert('not supported');
   } else {
      var shortName = 'mydatabase';
      var version = '1.0';
      var displayName = 'My Important Database';
      var maxSize = 65536; // in bytes
      var mydb = openDatabase(shortName, version, displayName, maxSize);

      // You should have a database instance in mydb.
   }
} catch(e) {
   // Error handling code goes here.
   if (e == 2) {
      // Version number mismatch.
      alert("Invalid database version.");
   } else {
      alert("Unknown error "+e+".");
   }
   return;
}

alert("Database is: "+mydb);

Con esto, sin más que implementar las transacciones necesarias, podemos hacer persistente la información cargada durante la sesión para su uso posterior.

Estas bases de datos se pueden utilizar para la implementación de aplicaciones Offline mediante Safari.

Para eliminar estas bases de datos creadas por aplicaciones web, basta con ir a la sección “Safari” de los ajustes del iPhone.

Vía: Safari Client-Side Storage and Offline Applications Programming Guide


AsistenteJeVWeb v0.1 released

Monday, August 10th, 2009

Publicada la verión 0.1 del AsistenJeVWeb.

La información se puede consultar online o hacerla persistente siguiendo las instrucciones del siguiente enlace.

Enlace: AsistenteJeVWeb.


iPhone SDK: Registrar una clase como observador de un evento

Monday, July 6th, 2009
[[NSNotificationCenter defaultCenter]
      addObserver:self
      selector:@selector(onDataChangeEvent:)
      name:@"dataChangeEvent"
      object:nil];

La clase que contiene este código:

  1. Recibirá notificaciones de disparo del evento “dataChangeEvent”.
  2. Debe implementar el método “onDataChagneEvent”.

Cuando algún otro objeto dispare el evento, las instancias de esta clase recibirán la notificación y ejecutarán el método especificado.


Get Adobe Flash playerPlugin by wpburn.com wordpress themes