martes, 1 de abril de 2014

Poner icono y splash screen a tu aplicación Cordova

Recientemente introducido en el fantástico mundo de Cordova y sus puñeteros bugs he dado con la formula para copiar en la plataforma android los iconos y splash screen que tenemos en nuestra carpeta www/res

Lo primero de todo cambiar los iconos y splash que deseemos en www/res

Luego ir a la carpeta hooks (se encuentra en la raíz de vuestro proyecto) y añadir una carpeta con el nombre after_prepare. Para más información sobre los distintos hooks ir a: https://github.com/apache/cordova-cli/blob/master/templates/hooks-README.md

Cordova y sus bugs

Leyendo he visto que Cordova tiene un bug que afecta a la declaración de la orientación de la pantalla en plataformas android.

Antes de solucionar nada, hacer un npm update -g cordova para saber que es la última.

Para solucionarlo deberemos ir a: [USER_HOME]\AppData\Roaming\npm\node_modules\cordova\src

Abrimos el fichero ConfigParser.js y en la linea 88 ponemos esto:

ret = preferences[i].attrib.value;

Luego guardamos y abrimos otro fichero que esta en metadata\android_parser.js

a continuación de la linea 95 añadimos:

break;
case 'portrait':
    act.attrib["android:screenOrientation"] = 'portrait';
    break;
case 'landscape':
    act.attrib["android:screenOrientation"] = 'landscape';

Y en las lineas 91 y 94 ponemos respectivamente userPortrait y userLandscape donde pone portrait y landscape.

Ya que no se quien decidió que era bonito poner un atributo de orientación móvil que solo existe en android 4.3 o superior.

En iOS aun tengo que testear el cambio. De momento esto es todo.