lunes, 20 de julio de 2015

Archivos .lnk en USB en MACOSX.

Para los que metéis el USB en cualquier parte (cómo se os ocurre profanarlo con un Windows) y de buenas a primeras os aparece en vuestro Mac los archivos con una extensión .lnk, ¡Enhorabuena! Os ha tocado un Malware en alguno de los lugares donde hayáis introducido vuestro USB. No os preocupéis, hoy es vuestro día de suerte porque os voy a explicar cómo arreglar la situación.


Lo primero que tenemos que hacer es abrir el terminal y copiar las siguientes instrucciones.

$ defaults write com.apple.finder AppleShowAllFiles True
$ killall Finder

Para los curiosos en este párrafo os voy a contar lo que ha sucedido y qué significan esas líneas en el terminal. Para los no curiosos podéis pasar al párrafo siguiente. Lo que este Malware ha hecho es ocultar vuestros ficheros originales creando un archivo de tipo Link que sustituye al original. Lo que hemos hecho con las anteriores líneas de Terminal es decirle al corazón Unix de nuestro MAC que nos muestre todos los archivos ocultos de todos sitios. Al final del artículo os explicaré cómo volver a ocultar estos archivos porque sino veréis un montón de archivos nuevos y que no os resultarán útiles en todas vuestras carpetas.



El siguiente paso consistirá en copiar todas las carpetas ocultas que distinguiréis por su transparencia y formatear vuestro USB  ..... ya tengo una nueva idea para otro artículo (^_^). 

Finalmente como lo prometido es deuda aquí os dejo las siguientes instrucciones para que nuestras carpetas dejen de visualizar los archivos ocultos.

$ defaults write com.apple.finder AppleShowAllFiles False
$ killall Finder



viernes, 26 de junio de 2015

Crear un formulario en iOS nivel PRO con UITextField. Parte II.

Continuamos a partir del anterior artículo, el cual podréis ver pulsando aquí. Lo primero que haremos será crear dos nuevos UITextFields para introducir una contraseña y un email.

@property (nonatomic, strong) UITextField *passWordTextField;
@property (nonatomic, strong) UITextField *mailTextField;

Les añadiremos nuevas características como la introducción de datos en modo oculto para la contraseña y un botón de borrado.

    [mailTextField setDelegate:self];
    [mailTextField setPlaceholder:@"Email"];
    [mailTextField setKeyboardType:UIKeyboardTypeEmailAddress];
    [mailTextField setReturnKeyType:UIReturnKeyDone];
    [mailTextField setBorderStyle:UITextBorderStyleLine];
    [mailTextField setClearButtonMode:UITextFieldViewModeAlways];
    
    [self.view addSubview:mailTextField];
    
    [passWordTextField setDelegate:self];
    [passWordTextField setPlaceholder:@"Contraseña"];
    [passWordTextField setKeyboardType:UIKeyboardTypeEmailAddress];
    [passWordTextField setReturnKeyType:UIReturnKeyDone];
    [passWordTextField setBorderStyle:UITextBorderStyleBezel];
    [passWordTextField setSecureTextEntry:YES];
    [passWordTextField setClearButtonMode:UITextFieldViewModeWhileEditing];
    

    [self.view addSubview:passWordTextField];




A continuación editaremos algunos elementos gráficos del UITexField. Por defecto tiene cuatro tipos de borde, aunque en próximos artículos explicaré como aumentar estas posibilidades a infinito. También le indicaremos el botón de retorno y el tipo de aspecto que queremos que tenga el teclado.
Tras ejecutar el código y comprobar los métodos del delegado del UITextField la primera duda que nos surgirá será cómo diferenciar los diferentes UITextField.


- (BOOL)textFieldShouldClear:(UITextField *)textField
{
    if([textField isEqual:mailTextField])
        [mailTextField setText:@""];
        
    else if(textField == passWordTextField)
        passWordTextField.text = @"";
    return NO;

}



Las dos fórmulas utilizadas en el código anterior son correctas. Si lo que queremos es que al pulsar el botón de borrado siempre se borre el texto del UITextField seleccionado bastará con devolver un TRUE.

Como ya comenté en el anterior artículo, iré subiendo el código al siguiente enlace de GitHub
https://github.com/ManuelManzanera/FormularioViewController

miércoles, 24 de junio de 2015

Crear un formulario en iOS nivel PRO con UITextField. Parte I.

En este artículo voy a explicar como crear un formulario para introducir diferentes tipos de datos. El componente principal de cualquier formulario de entrada de datos en iOS será el UITextField. Y que mejor manera de explicarlo que a través de un ejemplo que subiré a GitHub. Lo primero que haremos será crear el UITextField, inicializarlo e indicarle a nuestro view controller que será el delegado del UITextField.

nameTextField = [[UITextField alloc] initWithFrame:CGRectMake(10.,30., 300., 30.)];
[nameTextField setDelegate:self];

A continuación editaremos algunos elementos gráficos del UITexField. Por defecto tiene cuatro tipos de borde, aunque en próximos artículos explicaré como aumentar estas posibilidades a infinito. También le indicaremos el botón de retorno y el tipo de aspecto que queremos que tenga el teclado.

[nameTextField setBorderStyle:UITextBorderStyleNone];
[nameTextField setReturnKeyType:UIReturnKeyDone];
[nameTextField setKeyboardAppearance:UIKeyboardAppearanceDark];


 



También le indicamos un valor por defecto para indicar qué queremos que se introduzca en el UITextField. Este valor no indica que el UITextField tenga texto por defecto. De hecho, si hiciéramos un log con el valor de texto o el tamaño de la cadena del texto, no nos devolvería nada o nos devolvería cero.

[nameTextField setPlaceholder:@"Nombre de usuario"];

Para poder analizarlos métodos del delegado e ir siguiendo las mejoras del código lo iré subiendo todo al siguiente repositorio de GitHub

https://github.com/ManuelManzanera/FormularioViewController

miércoles, 10 de junio de 2015

¿Cómo hacer una captura de pantalla de nuestro dispositivo iOS con Xcode?

Lo primero que os preguntaréis algunos es para qué puedo necesitar hacer una captura de la pantalla de mi dispositivo iOS con Xcode desde el MAC. Si pensáis en desarrollar una App, una de las condiciones indispensables para subirla al AppStore, es ofrecer imágenes de la App. Es cierto que si contáis con buenos diseñadores probablemente ellos os las prepararán desde su mockup. Pero si este no es el caso, una buena opción es mostrar las capturas de pantalla de la App. También sirve de gran utilidad para mostrarle a un cliente cómo queda algún recurso, etc. Las podréis utilizar para crear documentación o para cualquier cosa que se os ocurra.

- Lo primero que debéis hacer es abrir Xcode con un dispositivo iOS conectado y pulsad sobre Windows>Devices. Os deberá aparecer una ventana como la que muestro a continuación.



- Posteriormente solo tendréis que pulsar sobre el botón "Take screenshot" para que os aparezca la captura de la pantalla del dispositivo en vuestro escritorio.





jueves, 4 de junio de 2015

¿Cómo grabar un CD de datos en MAC?

El artículo de hoy no está relacionado con iOS pero sí con MacOS. Mucha gente me pregunta qué es necesario para poder grabar un CD-DVD con archivos en un Mac. La primera respuesta aunque parezca una obviedad es tener una unidad de disco, ya que los MacBook Air no la tienen. Si tu Mac tiene unidad de disco tan sólo tienes que seguir estos sencillos pasos.

1. Introduce el CD-DVD en la unidad de disco. No te asustes si suena como una nave espacial. Para mí, lo que menos me gusta de los Mac es el sonido al introducir o sacar un disco en la unidad de discos.

2. Seleccionas el Finder->Archivo->Nueva Carpeta de Grabación.

3. Copias en la carpeta de grabación (es reconocible por su icono de "Peligro Radioactividad") los archivos que quieras grabar.




4. Por último pulsas el botón de grabar arriba a la derecha.


Y ya está. Así de sencillo es grabar un CD-DVD con archivos en un MAC sin necesidad de descargar ningún software.

martes, 31 de marzo de 2015

Xcode, la herramienta de desarrollo iOS

Una vez que tenemos todo lo necesario para empezar a desarrollar y que ya sabemos cómo tener una cuenta de desarrollo llega el momento de meter las manos en harina. En este artículo vamos a hacer una introducción a Xcode, el entorno de programación que utilizaremos para programar nuestro código, probar e instalar nuestras aplicaciones, analizar nuestro código, subir las aplicaciones al App store, etc.

Xcode se divide en 5 secciones: Una barra de herramientas, un área de navegación, un área de edición, un área de utilidades y un área de depuración.




Barra de herramientas.

En esta sección tenemos todo lo necesario para seleccionar diferentes dispositivos y simuladores para instalar, ejecutar o parar nuestro código. También podremos dividir en dos pantallas el área de edición de código y ocultar o mostrar el área de utilidades, depuración y navegación.


Área de navegación.

Aquí podremos observar todos los ficheros, recursos y carpetas que están en nuestro proyecto. En esta sección podremos hacer búsquedas de código indexadas, comprobar nuestros avisos y fallos en el código, y ver dónde hemos colocado los puntos de ruptura en nuestro código entre otras cosas.


Área de Depuración.

En esta sección podremos ver todos los avisos del sistema. También será el lugar donde observaremos el valor de variables en tiempo de ejecución, o simplemente avisos y valores de variables introducidos por nosotros.


Área de utilidades.

En el área de utilidades estarán todas las propiedades de los diferentes objetos implementados en la interfaz gráfica. También podremos ver y modificar diferentes propiedades de las clases donde nos encontremos. Esta sección nos ofrece otra funcionalidad que será de gran utilidad. Si seleccionamos un método de cualquier librería nativa iOS, en esta sección nos aparecerá toda la información acerca del método seleccionado.


Área de Edición.

Para el final dejamos el área de edición. En espa parte es donde escribiremos todo nuestro código y crearemos nuestras interfaces gráficas. En posteriores artículos veremos cómo trabajo la autoescritura de métodos, diferentes atajos para asociar nuestros elementos gráficos a nuestro código, etc.

lunes, 23 de marzo de 2015

¿Cómo tener una cuenta de desarrollador iOS?

¿Cómo tener una cuenta de desarrollador iOS?


En el anterior artículo comentamos los requisitos imprescindibles para empezar a programar para iOS. En este caso os vamos a explicar los pasos para crear una cuenta de desarrollador. Esta cuenta será necesaria para poder publicar nuestras aplicaciones en el App Store, o simplemente instalarlas en nuestro dispositivo. Si estáis interesados en adquirir una cuenta de desarrollador iOS damos por hecho que ya tenéis una cuenta iTunes, por lo que omitiremos este paso.


Lo primero que tendremos que hacer es ir al link de registro e introducir nuestro datos de cuenta de iTunes https://developer.apple.com/register.


Lo segundo que debemos tener claro es el tipo de programa que queremos. Si lo que queremos es publicar aplicaciones en el App Store, ya seamos un desarrollador independiente o una empresa, el programa que necesitamos es el iOS Developer. Por el contrario si somos una empresa y queremos desarrollos para nuestros dispositivos internos y NO publicar nada en el App Store nuestro programa deberá ser el iOS Developer Enterprise.


¿Cuáles son las principales diferencias entre los dos programas?


- La primera es el precio. El programa iOS Developer cuesta 99$ al año mientras que el programa iOS Developer Enterprise cuesta 299$ al año.
- Os preguntaréis entonces que ofrece el programa de empresa que no ofrezca el programa de desarrollador. Pues bien, si vuestra empresa necesita instalar y controlar más de 100 dispositivos iOS, necesitareis este tipo de programa ya que el programa iOS Developer “sólo” permite instalar aplicaciones en 100 dispositivos físicos al año mientras que el iOS Developer Enterprise ofrece un número ilimitado.


Si tengo el programa iOS Developer y necesito instalar mis Apps en más de 100 dispositivos, ¿Puedo hacer algo?.


- Pues sí, por el módico precio de 99$ extra podrás instalar tus Apps en otros 100 dispositivos más.


¿ Existe algún programa de desarrollo gratuito?


Pues aunque parezca mentira hablando de Apple, existe un programa gratuito para un sector de futuros programadores, el programa de desarrollo iOS para universitarios. Algo que no os extrañará a los que conocéis el comportamiento histórico que han tenido desde Cupertino con la Universidad. Con este programa no podréis publicar nada, ni tendréis acceso a diferentes manuales y soporte que ofrece Apple a los desarrolladores, pero podréis probar vuestro código en dispositivos reales.

https://developer.apple.com/programs/start/university/