XCode Tips - Cambiar el nombre de la compañía

Cuando creas archivos en XCode, aparece al comienzo de los archivos un texto comentado tal que este:

//
// ClaseBasica.m
//
//
// Created by Jesús Mazcuñán Arnandis on 20/11/11.
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//

¿Cómo podemos cambiar el nombre __MyCompanyName__?

Como somos personas con recursos, lo primero que haríamos sería buscar en Google. Y probablemente lleguemos a una de esas dos soluciones:

Utilizar el terminal para cambiar el nombre de la compañía por defecto

Abrimos el terminal y escribimos…

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ORGANIZATIONNAME="YourNameHere";}'

Esto funciona, pero es mucho más sencillo…

Cambiar el nombre de "Empresa" para nuestro contacto en la Agenda de Apple

Simplemente hay que ir a la agenda, buscar nuestro nombre y ponerle lo que queramos en el campo "Empresa". No era tan complicado… :D

Comments

Dices 2

Tras leer (parte de) el capítulo 5 de Beginning iPhone 3 Development, he adaptado Dices 2 para que los elementos se reubiquen correctamente si el dispositivo gira. La vista de tabla sigue sin funcionar, aunque los datos de las últimas tiradas si que se almacenan en un array. Me falta el volcado de datos desde el array hasta la tabla, pero me parece que aún hay alguna cosa de las vistas de tabla que se me escapa... supongo que con el tiempo y la práctica caerá por su propio peso.
Comments

Dices 2

Este es el aspecto actual de Dices 2. Me estoy pegando con las vistas de tabla (lo más grande que aparece en la imagen) para conseguir que se lleve un log de los resultados de las tiradas. De momento, los botones con los dibujos de los dados mueven el slider de selección de tipo de dato a las posiciones predeterminadas, aunque a mano se puede poner en cualquier posición. El botón de roll hace la tirada y el número que aparece arriba del todo cambia a un valor aleatorio entre 1 y la posición del slider.

Para las tablas, después de mucho buscar, estoy mirando esto:

Comments

Dices 2

Captura de pantalla de otro de los ejemplos con los que estoy trasteando. Esta vez no me he basado en ningún código que me haya encontrado. La interacción entre elementos es fruto del estudio del capítulo 3 de Begining iPhone 3 Development. Simplemente quería demostrarme que lo estaba entendiendo.

La idea es fácil. El número gordo de arriba muestra el resultado de la última tirada. El botón de roll lanza un dado de N, siendo N el número seleccionado en el slider. El slider puede variar entre 2 y 100. Los botones de abajo desplazan el slider automáticamente (y con animación) a X, siendo X el número indicado en el botón (DX).

La idea final es tener un dado configurable. De momento hace una tirada, pero estudiaré la posibilidad de que haga más de una tirada (seleccionando el número de datos a tirar mediante otro slider. Además, los botones DX serán reemplazados por imágenes de los dados más típicos (concretamente de los dados que tenga por casa...).

Un concepto de diseño a cambiar, ahora que lo veo, es el de poner el número actual del slider en una posición que no sea debajo del mismo, dado que si está ahí se puede ocultar con la mano o con el dedo mientras mueves el slider.
Comments

Minutes to Midnight

En http://www.appsamuck.com/ hay una serie de proyectos (31) relacionados con la programación de iPhone. He mirado hoy el proyecto Minutes to Midnight pero el código que utiliza no me convence puesto que al intentar reproducir las funciones y mirar sus parámetros en la ayuda me he encontrado con que algunas de las llamadas que hace no me salen como opciones en la ayuda del XCode o me salen como no recomendadas. El caso es que he estado mirando por mi cuenta las clases NSDate, NSCalendar y NSTimer para ver como podía hacerlas funcionar y al final he conseguido el resultado buscado.

Las funciones que utilizo para calculas los valores de horas, minutos y segundos actuales los he aprendido buscando en Google. Básicamente el código que utilizo para esto es:

NSDate * date = [NSDate date];

NSCalendar * calendar = [NSCalendar currentCalendar];


unsigned int unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;

NSDateComponents * comp = [calendar components:unitFlags fromDate:date];


countdownLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", 23 - [comp hour], 59 - [comp minute], 59 - [comp second]];


Además, he estado experimentando con la creación de temporizadores y la llamada de funciones de la aplicación desde el appDelegate.

No pongo el código de todo por tres motivos básicos:
  1. Quiero comentarlo un poquitín y hay algunas cosas del appDelegate que no he acabado de comprender (aunque funcionen).
  2. No tengo aún claro dónde voy a meterlo físicamente (hosting) dado que blogger no permite la subida de archivos. Así que estoy mirando si uso un hosting que tengo contratado o algún servicio del palo de RapidShare o MegaUpload.
  3. También me estoy planteando hacerlo en plan screencast.
Por lo demás, comentar que el botón del screenshot es simplemente un lastre que queda de las primeras pruebas en las que el botón llamaba a la función que actualizaba al etiqueta en lugar de usar un temporizador.
Comments