Entradas

JS Audio Recorder para Android e iOS

Probado y funcionando. La librería para Android al podréis encontrar aquí: https://github.com/yagitoshiro/TiAudioRecorder

Titanium - Subir ficheros a FTP desde Android e iOS

Este es el código a utilizar para poder subir ficheros a un FTP, tanto en Android como en iOS, con Titanium:

Titanium - Label animation

var view; var text; var footerViewDisp = function() {         view = Ti.UI.createView({         backgroundColor: '#A680b82b',         height: 40     });         text = Ti.UI.createLabel({         text: "Cargando...",         left: 20,         color: '#618233',         font: {             fontFamily:'HelveticaNeue-Light',             fontSize: 15         }     });     view.add(text);         view.addEventListener('click', function (e){         myLoaderDisp(); ...

Titanium - Error compilación iOS Error: Write EPIPE

Compilando por consola para distribuir una app en iOS, me ha aparecido muchas veces el siguiente error, el cuál me ha costado días en resolver. Parece que es un error que lanza nodejs. Ponogo las soluciones que he tenido que implementar en cada caso para que no os pase lo mismo: El error es: Error: write EPIPE     at errnoException (net.js:905:11)     at Object.afterWrite (net.js:721:19) Las soluciones: La primera vez tuve que bajar la version de node a v0.10.7 y funcionó La segunda vez no funcionaba bajando la version de node, así que la solución (después de 3 días de buscar) fué cambiar el guid de la app en Titanium. Esa tontería. Lo comentas y al compilar te dice que la falta el guid y te aparecen de ejemplo, copias uno y lo añades. El error se ha eliminado.

Archivos a comprobar cuando un módulo de Titanium no compila

Cuando un módulo de Titanium no compila, se deben comprobar los siguientes ficheros: En iOS: build.py: Crear un módulo nuevo y copiar lo que aparece en el módulo nuevo, teniendo en cuenta que cambian 3 nombres (2 los del fichero js y uno el de assets.m) que corresponden con el nombre del módulo. titanium.xcconfig: copiarlo entero del módulo nuevo. manifest: compararlo con el del módulo nuevo a ver si alguna cosa difiere. En Android:  Comprobar los jars si los encuentra o la ruta ha cambiado. Si ha cambiado, volverlos a añadir. build.properties: cambiar las rutas.

Experiencia personal utilizando Appcelerator (Titanium)

Después de 6 meses desarrollando apps en Titanuim con el Appcelerator Studio en un Mac, creo que es hora de poder opinar sobre sus ventajas e inconvenientes, o sobre mi experiencia al tener que trabajar en esta plataforma por el lugar de trabajo que ocupo. La verdad es que esta plataforma sí que crea las apps en estilo nativo y es bastante fácil, una vez has aprendido los lenguajes que requiere (js, css, xml), poder realizar algo sencillo que funcione en las dos plataformas sin que se note que no está programado con las plataformas nativas. Empezando por el Studio, en mi Mac funciona fatal (Mac mini moderno, con características muy pontentes). Se quedan los procesos colgados y me va todo a pedales. Cada dos por tres se cierra el programa y incluso se llega a cerrar de momento el ordenador porque está soportando una carga muy grande. Tarda, a veces, 20min en compilar una app y no me deja ni abrir pestañas en el navegador mientras lo está haciendo. Esto ocurre muy a menudo, c...

Titanium - Posición GPS

Como obtener tu posición: Ti.Geolocation.preferredProvider = "gps" ; Titanium.Geolocation.accuracy = Titanium.Geolocation.ACCURACY_BEST ; Titanium.Geolocation.distanceFilter = 10 ; // // GET CURRENT POSITION - THIS FIRES ONCE // var longitude, latitude ; Titanium.Geolocation.getCurrentPosition( function (e) {     if ( ! e.success || e.error) {         Ti.API.info( 'error:' + JSON.stringify(e.error)) ;         return ;     }     longitude = e.coords.longitude ;     latitude = e.coords.latitude ;     var altitude = e.coords.altitude ;     var heading = e.coords.heading ;     var accuracy = e.coords.accuracy ;     var speed = e.coords.speed ;     var timestamp = e.coords.timestamp ;     var altitudeAccuracy = e.coords.altitudeAccuracy ;     Titanium.API.info( 'geo - current location: ' + n...