Skip to content

Categoría: Programación

iTerm 2: ¿cómo configurarlo?

La terminal, o bash, esa querida amiga que nos proporciona acceso a bajo nivel, que utilizamos un día sí y otro también. No es para menos que debamos configurarla, que nos resulte amena y legible su empleo. No soy de las que usan la terminal por defecto del mac con el fondo blanco y las letras negras, mi vista no me lo permite….son hormiguitas danzantes que se escapan de mi. No. No me gusta. Así que os escribo este tutorial para configurar iTerm 2 (o al menos para que os sirva de referencia para configurarla luego a vuestro antojo) y sí, también tiene un aspecto un tanto egoísta, es para no olvidarme cómo lo he configurado, para el futuro xD

iTerm 2

La terminal que empleo en mi día a día, se llama iTerm 2, está creada para los usuarios Mac OS X y la uso porque me encanta el nivel de configuración que tiene; puedes organizar el número de pantallas agrupándolas en diversos paneles – horizontales y verticales – , cambiar el color de las pestañas, abrir las ventanas con un determinado perfil o sesión, mostrar un historial en un panel auxiliar, comandos que te permiten mostrar los comandos más frecuentes y un larguísimo etcétera.

Screen Shot 2016-03-01 at 20.27.23
Panel dividido horizontalmente. El color de la pestaña también la heredan sus hijitas.

Seguir leyendo iTerm 2: ¿cómo configurarlo?

Share
Leave a Comment

App Thinning y el error: ENABLE_BITCODE

XCode_Objective-C

Con la introducción de iOS 9 de forma oficial hace unas semanas, es hora de mirar un poco más de cerca los temas que nos afectarán con el cambio al momento de adaptar nuestro código de una versión a otra. En esta entrega hablaré sobre App Thinning y el error que nos arroja Xcode 7 al migrar nuestros proyectos creados en versiones anteriores: ENABLE_BITCODE.

App Thinning

ENABLE_BITCODE: ¿Qué rayos es esto? cuando ejecutas tu app en Xcode 7, nos aparece este error (si estás migrando tu proyecto). Pues Apple nos indica en su documentación, que con la introducción del WatchOS y el tvOS aparece un nuevo término: “App Thinning”; un sistema de optimización que se ha implementado para disminuir el tamaño que ocupa el OTA de iOS 9 y además para ser aplicado a las aplicaciones que desarrollemos de ahora en adelante en cualquier SO (WatchOS, tvOS o iOS) lo que mejorará la experiencia de usuario.

Leamos el extracto:

The App Store and operating system optimize the installation of iOS and watchOS apps by tailoring app delivery to the capabilities of the user’s particular device, with minimal footprint. This optimization, called app thinning, lets you create apps that use the most device features, occupy minimum disk space, and accommodate future updates that can be applied by Apple. Faster downloads and more space for other apps and content provides a better user experience.

Así pues, App Thinning posee tres componentes:

Seguir leyendo App Thinning y el error: ENABLE_BITCODE

Share
Leave a Comment

Configurar información de nuestra aplicación iOS en la sección Settings

Si te ha tocado trabajar en equipo o has repartido tu aplicación entre varias personas para que actúen como Beta Tester, probablemente te habrás encontrado con el dilema de ¿qué versión de tu app tienen exactamente?; y aunque uses herramientas como Fabric o Hockey App para poder distribuir y controlar las versiones, nada ayuda más que configurar en la sección Settings (Ajustes) del iPhone la versión de tu App, así como cualquier otro tipo de característica que desees implementar y que pueda verse rápidamente. Actualización: Si acabas de instalar iOS 9, no verás listado tus settings en la info de la aplicación. Deberás reiniciar tu dispositivo para que puede volver a verse. #EpicFailDeiOS Para ello, deberás realizar esta serie de pasos: 1.- Crear un Settings.bundle con un  Root.plist cuya estructura deberá verse como la siguiente: Añadirás al array de Preference Items un Dictionary con los siguientes componentes: Type: Tipo de ítem, en nuestro caso es de…

Seguir leyendo Configurar información de nuestra aplicación iOS en la sección Settings

Share
Leave a Comment

¿Cómo abrir las preferencias del iPhone desde nuestra app?

swift

 

En algunos momentos necesitaremos abrir las preferencias de iPhone para que el usuario pueda darle permisos, por ejemplo, a nuestras app para hacer algo. Un ejemplo sería configurar un teclado custom, hecho por nosotros; a su vez de hacerle un tutorial al usuario enseñándole en que sección de la configuración de su iPhone debe aceptar los permisos, podríamos abrir desde nuestra aplicación las preferencias de usuario.

 

 

En el gif anterior, vemos un ejemplo de como abrir las preferencias de usuario en la sección de teclados.

Escribamos algo de código:

Seguir leyendo ¿Cómo abrir las preferencias del iPhone desde nuestra app?

Share
Leave a Comment

Usar código Swift en Objective-c

Primero debemos habilitar el uso de ficheros Swift. Para ello nos dirigimos a “Build Settings” y en buscar colocamos “Swift” , encontraremos la opción: Build Options, y Embedded Content Contains Swift Code, seleccionamos Yes A continuación, en nuestra clase, o struct debemos colocar como prefijo @objc

Y finalmente instanciamos la clase como siempre:

Seguir leyendo Usar código Swift en Objective-c

Share
Leave a Comment

¿Cómo usar removeObjectAtIndex de un Array en Swift?

swift

Para emplear el removeAtIndex, que permite eliminar un elemento contenido en un array, del cual no sabemos su índice, hay que hacer un par de maromas en Swift 1.2.

Veamos el código en Objective-c:

Objective-C:

Resulta sencillo eliminar directamente de un array (selectedRows) de tipo mutable, es decir un NSMutableArray, un elemento contenido en él empleando removeObject.

¿Y qué tenemos que hacer en Swift?:

 

Seguir leyendo ¿Cómo usar removeObjectAtIndex de un Array en Swift?

Share
Leave a Comment

Cosas de Eclipse/Android

Ahora que estoy metiendome mucho más a desarrollar para Android (la verdad, no sé mucho…me estresa un poco la lentitud en la que aprendo…Java no es mi lenguaje favorito, todo gracias a horrendas experiencias en el pasado) pues estoy intentado aprender  resolver ciertos errores y advertencias que genera Eclipse. Hoy por ejemplo,me aparecia:  ActivityManager: Warning: Activity not started, its current task has been brought to the front Seguro para los más versados en el tema, sabrán la solución. Pero yo, la n00b tuve que buscar qué demonios significaba eso…; con una simple búsqueda en Google entendí que ocurría. Pues que para que se pueda ejecutar el código se debe compilar primero, si  no se hace ningún cambio al código este no compila de forma automática y arroja esa advertencia. Ahora ya sabes, toca el código, quita un espacio o …whatever. Enjoy Android…  

Seguir leyendo Cosas de Eclipse/Android

Share
Leave a Comment

Crash NSLayoutConstraint (iOS 6)

Cuando nos toca actualizar cualquier SDK los valores añadidos de dicha actualización, muchas veces  generan problemas con programas realizados con el SDK anterior, bien sea porque hay líneas “Deprecated” u obsoletas, o porque hay que añadir alguna otra línea, funcionalidad, etc del API (los que usan Java viven esta tortura constantemente :p) Así me ocurrió con la actualización de XCODE de 4.2 a 4.5 y que ahora usa iOS 6. Y aunque este post lo debí escribir hace mucho tiempo (2012 ya se fue) pues nunca es tarde para mencionar lo ocurrido. Algunas nuevas funcionalidades de XCODE con iOS 6 es la utilización de Storyboards, es automático de hecho, y debería ser así. Sin embargo ya estaba a medio camino del proyecto cuando tuve que actualizar y no me di cuenta que las nuevas XIB que estaba creando me colocaban un “Check” en una opción que jamás había tocado antes.…

Seguir leyendo Crash NSLayoutConstraint (iOS 6)

Share
Leave a Comment

Depurando con DLog

Muchas veces, sino siempre, es necesario realizar depuraciones en nuestro código para determinar si hemos hecho las cosas bien o no, y básicamente para imprimir en la consola los valores que nos interesa observar. En Objective-C existe una forma, la tradicional de depurar que es usando la macro NSLog

NSLOG seguirá mostrando información en consola, aunque activemos la opción DEBUG (debug flag). Para evitar esto, existe la opción para debug llamada DLOG, que es otro macro que dejará de imprimir en consola cuando la bandera DEBUG este desactivada. De este modo, podremos dejar nuestros comentarios DLOG si desactivamos el modo debug. Basta simplemente con hacer una cabecera (.h) (que yo llamare Macros.h) con el siguiente código:  

y para usarlo en todo el proyecto, simplemente importalo al archivo

que se vería así

Ahora intenta emplearlo de la misma forma que con el NSLog. ¿Qué tal? Dejo…

Seguir leyendo Depurando con DLog

Share
Leave a Comment