Archivar por junio, 2008

SDK Beta 8

Share on Google+Share on FacebookTweet about this on Twitter

Bueno, personalmente esta creo que sí será la última revisión del SDK y por ende de la firmware 2.0 antes del lanzamiento oficial.

Esta vez la firmware lleva por compilación “5a345” y al parecer a la par de esta (a mi parecer última beta) se ha entregado tambien una version de itunes 7.7 beta. Es muy posible que a la par que escribo estas líneas, el AppStore esté abierto y funcionando, aunq evidentemente no para nosotros, tan solo para los desarrolladores.

De todos modos esto tampoco es que sea de extrañar, el lanzamiento oficial del iphone 3G será el 11 de Julio y para entonces todo tendrá que estar listo. Luego no es raro de ver que al poco tiempo del lanzamiento de la firmware 2.0 aparezca una revisión nueva oficial a modo de actualizacion 2.01 o a saber, pero todo eso ya se verá.

Como nota curiosa, al parecer el nuevo itunes estaría preparado para ciertas aplicaciones de control remoto para iphone e ipod touch, incluyendo alguna gratuita.

Ahora tan solo queda ir pensando en cuanto tiempo pasará en tener un nuevo JB ;), yo digo una semana, tal vez dos?

Evidentemente mi recomendación personal será la de siempre. No actualizar ni itunes ni a la version 2.0 hasta que no se sepa y se tenga mas informacion sobre posibles problemas, JB, limitaciones… no es oro todo lo que reluce y se tengo q elegir entre el actual JB o la 2.0, evidentemente y de lejos me quedo tal y como estoy ahora 😉

Un saludo

Feliz cumpleaños a mí!!

Share on Google+Share on FacebookTweet about this on Twitter

Otro año más conmigo mismo, otro año más para vivir, respirar, reir y sobre todo… ser feliz

Artículo: GMDT: Mapas y rutas a la carta sin wifi II

Share on Google+Share on FacebookTweet about this on Twitter

Hace tiempo dijimos la gran utilidad que puede tener Maps Offline. Pero evidentemente sin un sistema para poder descargar mapas a la carta y poder incluirlos posteriormente a nuestro dispositivo es un poco inutil.

Hace tiempo dije que colgaría un video mostrando el proceso de creación de un mapa de una ciudad completa, pero por tiempo y por ganas pues no ha sido así. No obstante creo que es algo bastante util para la mayoría, así que aunque sea en plan manual lo voy a explicar paso a paso.

La utilidad es doble. Por un lado podremos como he dicho meter un mapa completo de una región, y por medio de maps offile poder verlo y acceder a él sin necesidad de tener conexión. La segunda gran utilidad que muchos van a encontrar de interés, es la posibilidad de cargar mapas que no están en el servidor de google, pero que sí lo están en otros servidores. Luego aquellos que se encuentren en regiones por ahora discriminadas por google podrán tener sus mapitas.

Esto se puede combinar perfectamente con rutas personalizadas como las que crea la aplicación maps, y de este modo podemos tener en nuestro dispositivo mapas propios con sus rutas y consultarlas cuando queramos, hacer zoom… todo como si estuviesemos online. En el caso del iPhone sería posible usar también el posicionamiento por GSM, aunque no por WIFI en el caso del iPod Touch, esto es de cajon.

Sobre la opción del GPS en el iphone este método serviría solo a medias. El siguiente paso lógico sería preguntar: Pues cuando el iPhone 3G salga y fuera posible el JB, con estas aplicaciones podríamos tener los mapas de las zonas que quisiésemos y tener activado el GPS para una localización perfecta sin necesidad de comprar TomTom o similar. Si y no. Un GPS los únicos datos que recive son coordenadas geográficas de los satélites. Son los mapas que tenemos dentro de nuestro dispositivos los que a su vez tendrían que estar diseccionados por así decirlo en sus propias coordeadas. Este tipo de datos se llaman GeoData. El problema en españa es que los GeoData de españa no son públicos, y tener acceso a ellos requiere pagar. En EEUU por ejemplo no es así, y puedes descargar gratuitamente y sin problema los GeoData de todo el país. Con los mapas y los GeoData tendríamos un sistema GPS perfecto.

Quizás sea posible obtener los GeoData de otro modo, peto como digo, creo que ahora mismo en españa esto no es posible, que no quita que para muchos otros paises si que estén disponibles!!

Bueno, ya hemos explicado un poco todo esto y como vamos a trabajar. Así que lo que necesitamos antes que nada es una aplicación que nos permita tener acceso a una gran colección de mapas. Y por un casual la tenemos!! Vamos a usar Global Map Downlad Tool. Es una magnífica utilidad para descargar mapas de varios servidores y además nos permitirá convertirlos posteriormente para el iPhone e iPod Touch.

Es una aplicación creada para .NET con lo que será necesario tener instalado .NET Framework para poder usarla correctamente, yo aconsejaría tener instalado todas las versiones de .NET pero supongo que con la 2.0 sería suficiente.

Existe un pequeño problema de compatibilidad con Vista. Vista usa por defecto .NET Framework 3.5 y la aplicación no está compilada para 3.5, luego es posible que podamos observar algunos problemas con la aplicación.

Para descargar .Net Framework ->

3.0

http://www.microsoft.com/downloads/details.aspx?familyid=10CC340B-F857-4A14-83F5-25634C3BF043&displaylang=es

2.0

http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5

1.1

http://www.microsoft.com/downloads/details.aspx?familyid=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=es

Personalmente en una máquina XP SP3 instalaría todos. Hay que tener en cuenta que uno no sobreescribe otro, sino que son complementarios.

Una vez estemos seguros de que tenemos .net framework instalado podemos instalar la aplicación:

AQUI

La aplicación la descomprimiremos en cualquier carpeta de trabajo y listo.

Una vez descomprimida ejecutamos Global Map Download Tool y nos encontraremos con algo como lo que tenemos al inicio de esta entrada. (Pulsar en la entrada si se desea ampliar)

Pese a lo complicado de la interfaz, en realidad es relativamente simple esta aplicación y con unos muy pocos pasos tendremos todo preparado.

1º. Lo primero será siempre seleccionar la base de datos de origen. A la izquierda del todo podemos observar que tenemos varias posibilidades:

a) Google Map: Terrain, Satellite o Hybrid. Lo cual se entiende perfectamente.
b) Micro$oft VirtualEarth: Sí, ya sabemos todos que MS tan solo se dedica a copiar ideas (al menos desde mi opinión) y no investiga ni innova nada. Pero bueno, es uan vuena alternativa allí donde Google no llega aun o algunas partes en las que las fotos satélite de MS son mejores.
c) USGS: Pertenece al ministerio de interior de EEUU. Puede ser una buena alternativa, sobre todo para EEUU.
d) …

Bueno, no voy a ir describiendo cada una, todos los podeis ver en el panel de la izquierda.
La elección de uno a otro es importante. Primero porque muchas veces un proveedor no tiene los mapas que necesitamos, otras veces porque un proveedor particular ofrece mucha más calidad para una zona en concreto. Otras veces podemos encontrar también limitaciones en cuanto a descargas (más tarde hablaremos de esto). Lo mejor es jugar cada cual un poco con el programa y ver que tal. Personalmente los mejores resultados son evidentemente con Google Map y acudir a otro para zonas no cubiertas. Por principios no uso los de M$, pero esto es tan solo a modo personal.

2º. Una vez seleccionada la base de datos a usar, la página inicial nos cambiará y pasaremos a una especie de explorador incrustado en la misma aplicación. Es la forma de funcionar del programa para poder localizar facilmente la región a sacar. En mi caso como he dicho he usado Google Map, luego en mi pantalla tengo algo muy muy similar a la interfaz que tendría si acudiera a maps.google.com. Lo único que tengo que hacer es realizar una búsqueda normal y corriente. En mi caso tecleo: “Sevilla Spain” y enter. Inmediatamente el explorador incrustado me lleva al punto exacto:

3º. Ya tendremos más o menos localiza la zona que deseamos extraer, pero quizás no sea exactamente esa. Usando el botón Preview 1x podremos ir viendo si la zona es exactamente la que deseamos. Si no es exactamente la que queramos, cerramos la preview y con el pan (la manita) centramos un poco mejor la zona. De nuevo le damos a preview a ver si ahora es la que deseamos. Muchas veces esto es un poco impreciso, ya que el preview no se ajusta exactamente a lo que tenemos en pantalla. La preview es la que tenemos que atender siempre. En mi caso tambien he seleccionado la opción Hibrid para que al extraer los mapas tambien me saque el callejero. Ojo que esta opción NO me permitirá conmutar una una vez en la aplicación map entre calles o solo satélite!! esto es posible hacerlo tambien (luego lo explicaré), pero para ahorrarme consumo en Megas, prefiero sacar tan solo un mapa con el callejero integrado. Yo he delimitado la zona para sevilla, de tal forma que tambien se incluyan algunos alrededores, y por supuesto mi localidad, DH. Recordar que en el mapa podemos hacer tambien zoom a una zona más concreta si así lo deseamos y el mapa será mucho menor en tamaño, mucho más rapido en descargarse etc… pero puestos a hacerlo, yo lo hago todo a lo grande, así que sacaré un buen mapa ;). Aunque no se encuentra aun en mi captura, es necesario establecer un directorio de trabajo donde se guardará nuestro mapa. Dicha opción está en medio prácticamente de la aplicacion. Tendremos que darle a “Set Dir” y seleccionar el directorio que deseemos.


4º. Llegado a este punto tendremos ya delimitada la zona perfectamente. Una vez estemos a gusto con la zona a extraer le daremos al botón superior derecho: “Download The Map”. Al darle a dicho botón nos aparecerá una nueva ventana la mar de curiosa. En ella podremos seleccionar el nivel de Zoom (o profundidad) que deseemos. A lo mejor tan solo deseamos un Zoom X1 o X2 para tener un mapa genérico de la zona sin mucho detalle. O a lo mejor por el contrario deseamos una zona muy detallada y deseamos todos los niveles de profundidad.

Por otro lado también nos permite seleccionar el sector que deseemos. Ya sé que hemos delimitado la zona anteriormente, pero esto puede ser una zona muy grande. Marcando o desmarcando los sectores haremos que estén luego disponibles para nosotros. Es una forma muy eficiente de eliminar los sectores que no vamos a usar y así ahorrar muchísimos Megas de espacio. La Captura sacada en mi caso no se corresponde con los sectores que he extraido, en ella se encuentran todos marcados, en cambio mi mapa extraido hay muchos sectores que no están incluidos. A fin de cuentas hay “zonas muertas” en las que no tengo ningún interés en ellas o alguna población menor alejada que tampoco me interesa. Todo ello hace a lo mejor que mi mapa final sea la mitad de lo que sería originalmente:


Una vez terminemos de seleccionar o deselecionar los sectores deseados, tan solo nos quedará darle al botón superior en la ventana de los sectores: “Uncheck any tittles….” Nada más presionar el botón, comenzará la descarga del mapa. Esto puede ser un proceso largo, dependiendo de lo grande que sea nuestro mapa fabricado, del nivel de profundidad de cada sector, de los sectores…

5º. En quito lugar tenemos la descarga. En cuanto presionemos el botón citado comenzará el proceso de descarga. En teoría no tendremos que hacer nada más hasta que la descarga termine. Arriba a la derecha aparecerá el estado de descarga, el sector que se está descargando, los sectores totales, los sectores ya descargados. Aquí hay una pequeña limitación lógica, al menos para Google, y posiblemente para otros también. Google para evitar la saturación de sus servidores impone un máximo de ancho de banda por IP en un determinado tiempo. Con esta medida de proteccion Google evita precisamente que hagamos esto. No es que el límite sea muy escueto, para nada, es bastante amplio. Pero evidentemente estamos descargando de golpe zonas completas!! y es bastante posible (dependiendo del tamaño de la zona) que el servidor corte el grifo. Si esto ocurre el programa nos lanzará un error y la opción de darle a aceptar. Si le damos a aceptar intentará descargar el sector siguiente. El problema es que si nos aparece este error, sabremos que Google ha baneado temporalmente nusetra IP, y lo que nos queda son dos opciones:

a) Esperar que google la desbanee, supongo que esto sucedería en media hora quizás unas horas
b) Si tenemos una IP dinámica con desconectar y conectar de nuevo a nuestro ISP sería suficiente para tener una IP nueva, y con darle a aceptar al cartelito que nos lanzó el error es suficiente para continuar la descarga
c) Para quien tenga una IP estática la única posibilidad si no quiere esperar es usar servidores proxys. El problema es que estos suelen ser relativamente lentos. Pero también es verdad que tenemos cientos o miles de servidores, es cuestion de encontrar uno decente.

Hay q tener presente que este procedimiento es posible que tengamos que repetirlo más de una vez o no, como digo, depende del tamaño de la región que estemos creando.

En mi caso he tenido que hacer un cambio de IP unas 5 veces:


Si nos fiajos como he dicho arriba a la derecha veremos el porcentaje descargado. Al terminar de descargar todo el mapa, si ocurrió algun error en la descarga de algún sector nos preguntará si deseamos volver a descargar los trozos erroneos.

6º. Una vez descargado todo el mapa, tan solo nos quedará convertirlo para que nuestro dispositivo sea capaz de leerlo en el formato que usa. La misma aplicación nos deja hacerlo de manera automática, casi tan facil como presionar un botón.

Sabremos que la descarga a terminado además porque nos aparecerá un mensaje diciendo lo propio. Hay que tener en cuenta que en cuanto termine de descargar todo tardará un poco en reensamblarlo todo. Cuando aceptemos el cartelito de mapa descargado tendremos que darle al botón ->Iphone:


Lo normal es que nos aparezca en la primera linea el directorio de trabajo. Si lo dejásemos así, nos crearía en nuestro dispositivo el mapa en la sección de callejero. Como el mapa que yo he creado es híbrido lo pongo en híbrido. Tambien se debe de seleccionar la carpeta de destino donde se generará el resultado final.

Una vez acabado todo, le daremos para finalizar del todo a Process.

Hay que tener en cuenta que el proceso puede tardar un poco en la conversión. Es cuestión de esperar hasta que se termine toda la conversión. Cuando la conversión acabe completamente, se habrá generado un archivo que será el que subiremos a nuestro dispositivo para ser usado por MapsOffiline.

Recordar que en la versión más actual del MapsOffline, el archivo habría que introducirlo en:

/private/var/mobile/Library/MapsOffline/Cache

Al acabar tan solo tenemos que recuperar el archivo creado y listo. En mi caso el archivo final ha sido de 260MB y tengo incluido todo sevilla capital y unas 5 localidades.

Un saludo y hasta otra.

Artículos: Fuentes personalizadas

Share on Google+Share on FacebookTweet about this on Twitter

Como sabeis, hace tiempo pusimos la aplicación FontSwap para poder modificar la fuente (estilo de letra) a nusetro iPod. El problema que tiene esta aplicación es que si se utiliza de forma erronea puede llevar a darnos dolor de cabeza y algunos cuelges muy bonitos, por eso su creador la quitó de su repositorio (por eso lo añadí yo al mío). Una de las mejoras que su autor quiso implementar fue la posibilidad de añadir otras fuentes.

FontSwap nos permite alternar entre una fuente u otra, pero siempre dentro de las que está en el mismo dispositivo, y lo ideal claro está es añadir las fuentes que deseemos nosotros mismos.

El único problema del proceso es que si la fuente copiada no es renderizada en una máquina MAC nuestro dispositivo se va a colgar. Como podemos saber si la fuente que queremos añadir es soportada? no lo sabemos, prueba error. La mayoría usamos máquinas windows. O podemos buscar por google fuentes para mac, y así nos curamos en salud.

Aviso que no me hago responsable de ningún cuelge. Si queremos curarnos en salud, lo mejor será hacer antes una copia de seguridad de los archivos q vamos a modificar y si algo no funciona bien, podremos entrar aun así por SCP o SSH y restaurar los originales, así podremos “jugar” todo lo que queramos de forma segura.

El proceso será simple:

1º. Buscaremos por inet, PC la fuente que queramos añadir y si podemos asegurarnos de que la fuente es legible por MAC mejor que mejor. (Más que nada porque windows suele usar fuentes tipo OpenFont y MAC TrueType).

2º. Una vez encontrada la/s fuentes que deseemos las copiaremos por SCP al iPod Touch/iPhone en /System/Library/Fonts/Cache

3º. Modificaremos el archivo CGFontCache.plist que está en /System/Library/Fonts/Cache. Este archivo contiene el listado de fuentes definidas en nuestro dispositivo, con lo que tendremos que añadir nuesrtas fuentes a este archivo. Este archivo es crucial, si la fuente que estamos añadiendo no es soportada, al aplciarla con FontSwap (por comodidad) tendremos una “rueda de la muerte”. Aun así podremos acceder por SCP o SSH y restaurar este archivo, con lo que es crucial mantener una copia original de este archivo.

Como vamos a modificar este archivo? muy simple. Este archivo se divide en dos partes. La primera simplemente nombra cada fuente, y la segunda la define:

.Helvetica LT MM
/System/Library/Fonts/Cache/HelveLTMM.ps
.Times LT MM
/System/Library/Fonts/Cache/TimesLTMM.ps

Como podemos ver en esta parte tan solo lista las fuentes. Aquí es donde tendremos que añadir nuestra fuente. Por ejemplo si quisieramos añadir una fuente llamada “rune.ttf” tendríamos que añadir las siguientes lineas EN ESTA PARTE, NO EN LA OTRA:

Runas
/System/Library/Fonts/Cache/rune.ttf

Y guardaríamso el archivo.

La otra parte del archivo son las definiciones de cada tipo de fuente, diciendo que clase de fuente es, si está en negrita, cursiva… esa parte no será necesaria de cambiarla, puesto que es la parte que se encargará de modificar FontSwap, así que no vamos a hacer las cosas por duplicado. Podríamos definirla en ese listado también y consegiríamos que cualquier aplicación , pero no nos sería nada util, ya que las aplicaciones de Apple aunque podrían perfectamente establecer esa fuente, evidentemente no se hacen pensando que algunos usuarios tienen más fuentes instaladas. Luego es un poco inutil declararlas. Las declaraciones estan en la otra parte del archivo y son de este tipo:


Bold
ArialBold
Bold-Italic
ArialBoldItalic
Italic
ArialItalic
Plain
Arial

Como hemos dicho, podríamos declarar la nuetra, pero no es necesario

4º. Una vez tengamos realizado la copia de las fuentes y la modificación del archivo, tan solo queda añadir la fuente en el FontSwap. FontSwap lo único que hace es editar el archivo que hemos editado con anterioridad, y cambia en la definición de las fuentes la fuente a usar. Por ejemplo:

Sabemos que la fuente Helvética es la que usa todo el sistema. Si en la declaración de al fuente helvética le decimos que la fuente a usar sea Runas, el sistema irá preparado para cargar helvética, pero premio!! como fontswap lo ha modificado, no cargará helvetica, cargará Runas.

Como hemos dicho tendremos que modificar dos archivos de la aplicación FontSwap. En realidad es hacer básicamente lo mismo que hemos realizado en el archivo antes editado. Los dos archivos a editar en FontSwap están en /Applications/FontSwap.app/files

traitMapNames.plist lo editaremos para añadir nuestra fuente exactamente igual que hicimos en el archivo “CGFontCache.plist”, solo que no tendremos que poner ya la ruta de la fuente, puesto que esa tarea ya la realizamos. Este archivo es necesario editarlo porque será el q nos liste nuestra fuente en el FontSwap

traitMapDefs.plist lo editaremos para definir nuestra fuente. Es la parte que no cambiamos en el archivo CGFontCache.plist y que si modificaremos aquí. La sintaxis es muy simple, el nombre acompañado del tipo de fuente que es, en el caso de que tengamos por ejemplo: runebold.ttf runecorsive.ttf… sabremos por ejemplo que una es la usada para negrita y la otra para curvisa. De todos modos la mayoría de las fuentes no tienen diferentes tipos, luego lo más normal es que tan solo tengamos que añadirla en la parte de plain:

Ejemplo de fuente de varios tipos:

American Typewriter

Bold
AmericanTypewriterCondensedBold
Plain
AmericanTypewriter

Ejemplo de nuestra fuente añadida:

Runas

Plain
Runas

Y listo. Hemos acabado

Abriremos FontSwap y podremos seleccionar nuestra nueva fuente, hacemos un respring y si la fuente es soportada como hemos dicho desde un principio, tendremos la nueva fuente instalada y funcionando.

Firmware 2.0: Como están las cosas II

Share on Google+Share on FacebookTweet about this on Twitter

Bueno, como dijimos hace unos días la beta 7 de la firmware 2.0 se había hecho pública. Poco se sabe de momento sobre posibles JB en el caso de ipod Touch y JB y unlock en el caso de iphone. Pero lo que sí es cierto es que al menos zibri no está de brazos cruzados, y hasta la fecha, la firmware 2.0 beta 7 ha sido correctamente desbloqueada y JB sin problemas.

Ya dijo Zibri que de todos modos no veríamos un ziphone nuevo hasta pasado cierto tiempo. Pero son buenas noticias.

Los chicos de Winpwn por otro lado, deberían de estar trabajando igualmente en su solución. Dado que el bootloader no cambia, el trabajo a realizar sería en teoria poco.

De todos modos esto en ningún caso es aplicable al iphone 3G. Aunq es muy posible que la firmware de serie del 3G sea la misma del iphone no 3G, el chip del teléfono en sí es diferente, y posiblemente el bootloader del teléfono sea diferente tb. Posiblemente la solución para el iphone 3G venga más adelante, despues de que podamos realizar JB a los ipod touch 2.0 y a los iphone no 3G

Volver a arriba

Sobre Mí

Cambiar a la versión para móviles

Creative Commons License
Alma Oscura por Theliel is licensed under a Creative Commons Reconocimiento-No comercial-Sin obras derivadas 3.0 Unported License.
Basado en el trabajo de blog.theliel.es.
Para otros permisos que puedan exceder el ámbito de esta licencia, contactar en blog.theliel.es/about/contactar.