domingo, 30 de marzo de 2014

Como cerrar las App abiertas en el simulador de Xcode 5.

Hola amigos, a petición de algunos amigos he decidido explicar algo que parece fácil a simple vista, y realmente lo es....

El tema es que como todos los desarrolladores sabemos, para probar cosas en el Xcode, tales como el nombre que aparece bajo el icono de la aplicación , el propio icono, la imagen  Launch (es la primera imagen que vemos cuando iniciamos una app) y algunas cosas mas.

Para que todo esto se actualice en el simulador necesitamos que la app se cierre y que se inicie de nuevo, con la Multitasking de iOS 7, cuando pulsamos el botón Home de nuestro dispositivo o simulador, la app pasa a segundo plano, pero no se cierra, por lo tanto si hemos cambiado el icono de la aplicación no se vera reflejado en el simulador hasta que no cerremos la aplicación y la iniciemos de nuevo.

En versiones anteriores de Xcode, en el simulador aparecia el botón home y por lo tanto lo teníamos muy facial haciendo doble click sobre dicho botón.

Pero, a partir de la version 5 de Xcode el famoso boton de home ya no aparece en el simulador


Podemos ir al menu del simulador y en la pestaña Hardware encontramos la opción de inicio, que si la pulsamos nos saca de la app a la pantalla principal del simulador.



Pero como dije anteriormente esto lo que hace es pasar la app a segundo plano.

Por lo tanto para que nos salga el menu de cerrar las aplicaciones la forma mas fácil de hacerlo es con esta combinación de teclas:  CMD-Shift-H 

Manteniendo pulsadas las teclas CMD-Shift pulsamos dos veces seguidas en la letra H y nos sale la opción de cerrar las aplicaciones en el simulador.


Buenoooo, se que parece obvio, pero hay varias amigos que me lo preguntaron y he creído que seria buena idea explicarlo.

Saludos y espero que a alguien le sea util. 









domingo, 17 de noviembre de 2013

jueves, 7 de noviembre de 2013

Nuevo Video promocional de iMarca-Padel.

iMarca-Padel es nuestra primera app.

iMarca-Padel- instrucciones de Uso.
Usar iMarca-Padel es muy sencillo, basta con introducir los nombres de los equipos o jugadores, iMarca-Padel te guarda el nombre de los jugadores anteriores para ahorrarte tener que escribirlos, si son los mismos. Una vez introducidos los nombre haces  "tap" en empezar y entramos directamente en la pantalla principal del marcador.
En esta pantalla encontramos varias opciones que explicamos a continuacion, primero tenemos los nombres de los equipos o jugadores que hemos introducido en la pantalla anterior, a la derecha en la parte superior tenemos los marcadores donde aparecen los sets, como se puede comprobar esta preparado para poder disputar partidos a tres sets o a cinco sets.
Bajo los nombres, a derecha e izquierda tenemos dos botones donde pone la palabra "Punto", hay es donde pulsaremos cuando el equipo respectivo haga un punto.
Si ambos equipos empatan a cuarenta puntos se produce el denominado " Cuarenta iguales", nos saldrá una alerta avisándonos y los marcadores de puntos de ambos jugadores se ponen automáticamente a treinta puntos, necesitando siempre que la ventaja de puntos de un jugador a otro sea de dos o mas puntos  para que se sume un Sets.
Una vez que un equipo logra un Juego, este pasa a su marcador, si ambos equipos empatan a cinco Juegos, se produce un Tie-break y en este caso saldría una alerta indicando que estamos en Tie-Break y que se necesita superar al otro equipo en dos juegos para ganar el sets.
Si se completan los cinco Sets por equipo y se quiere seguir jugando, o bien se inicia una nueva partida o si se continua se empezaría de nuevo por el primer Sets.
Si nos equivocamos al marcar un punto, con el botón llamado "Borrar puntos" ponemos los marcadores de puntos a cero, también tiene incorporado un sistema para borrar el ultimo juego anotado en el marcador de sets, para ello hacemos tres "taps" o toques sobre la ventana donde esta escrito en verde el nombre del equipo y se descontaría el ultimo juego anotado.
Para desconectar el sonido podemos usar el interruptor, con la etiqueta de sonido sobre el.
Bajo el botón de desconectar el sonido tenemos otro botón en el cual tenemos la opción de compartir nuestros resultados en nuestra red social favorita, se pueden enviar por:  eMail, Twitter o FaceBook.  
iMarca - Padel, esta pensado para las personas que son amantes de este estupendo deporte, y que cuando no juegan y están de espectadores, a veces les es difícil llevar las cuentas de los puntos logrados por ambos equipos.
También esta indicado para árbitros y entrenadores, con las posibilidad de poder enviar los resultados a través del correo electrónico o de publicarlas en Twitter o FaceBook. 
Con este estupendo marcador se acabo de hacer marcas en el suelo con una piedra, o de estar preguntando a los demás ¿como van?.
A partir de ahora tu tienes el control, ahora serán los demás los que se acerquen a ti  para preguntarte los resultados, y seguro que serás mas veces invitado a presenciar los partidos de tus amigos.
Y por supuesto cuando tu seas el jugador siempre puedes dejar tu iMarca-Padel a un amigo de confianza para que controle la puntuación del juego y luego tendrás la posibilidad de enviar tus resultados por correo electrónico o publicarlos en tu red social favorita.
Espero os guste y la disfruteis.

Video promocional iMarca_Padel

domingo, 25 de agosto de 2013

iPhone 5C, realidad o simple Rumor?

Hola amigos, como todos sabéis son muchos los rumores que apuntan a que Apple presentara el dia 10 de Septiembre el tan esperado iPhone 5S y según algunos rumores un iPhone de bajo coste llamado iPhone 5C. 





 Segun algunas informaciones se trataria de un modelo «low cost» que tendrá una carcasa fabricada en plástico, en principio  bastante resistente, y será bastante  ligero, según informan medios chinos, hasta el punto de poder soportar "golpes y caídas".


El iPhone 5C tendría una pantalla de 4 pulgadas y con el mismo formato que el iPhone 5, aunque no contaría con algunas funcionalidades como el asistente virtual Siri.
En cuanto a las medidas de este teléfono, que a me recuerda un poco al iPhone 3G, serían de 123.8 x 58.6 milímetros y un grosor de 12 milímetros frente a los 7.6 del iPhone 5.
Según estos rumores, iPhone 5C va destinado a mercados emergentes y a un público más juvenil, o con menos poder adquisitivo.
El precio que se rumorea que puede costar, es entre 300 € y 400 €.
Que frente a los casi 700€ que cuesta el iPhone 5 estaríamos hablando de casi la mitad.
Los que conocemos a Apple desde hace tiempo sabemos que hasta ahora, Apple no da un paso atras ni para tomar impulso, por ese motivo a mi personalmente me cuesta mucho creerme que este rumor sea cierto.
Mi intuición me dice que posiblemente se trate de una imitación de esas que tan bien se les da a los chinos de hacer, como todos sabemos en el mercado hay imitaciones chinas de casi todos los modelos de teléfonos de fabricantes como Samsung y tambien de Apple, tanto sus telefononos como sus tabletas.
Hay infinidad de testimonios de imitaciones, unas mejores conseguidas que otras pero en definitiva imitaciones.
Mirad este video sobre la imitación de un iPhone 5.



Resumiendo un poco, mi opinión personal es que Apple va a presentar el iPhone 5S y es probable que algún nuevo modelo de iPad, pero siempre en su linea, mas potentes con menos peso y con mejores cámaras, pero en ningún caso con menos prestaciones que los que anteriormente a sacado al mercado, al menos esa a sido su política hasta este momento, a mi personalmente me defraudaría mucho un retroceso así.



viernes, 12 de abril de 2013

El hombre que se quedo si Whatsapp.............

La verdad es que es bastante triste, pero realmente es así, ahora la gente en las terrazas de los bares no habla con los amigos mientras toman una cervezas , solo están sentados juntos, pero cada uno esta con su Movil de ultima generación chateando con otras personas y mirando su Twitter  y Facebook y solo apartas la mirada del móvil para decir al camarero que si, cuando te pregunta:  ¿cerveza para todos?.....que triste ....la familia en casa, la tele puesta y en el sofá cada uno con su teléfono en la mano y Whatsapeando con otras personas...Que a sido de esos tiempos en que mientras se comía o se tomaba unas cervezas aprovechábamos para criticar a los que no estaban presentes o a los jefes o políticos etc... Pero todo a cambiado "Vivimos en la era de la comunicacion" eso gritan algunos a los cuatro vientos, pero yo creo que estamos viviendo la era de la incomunicación personal, muchas redes sociales mucha tecnología y resulta que con las personas que tenemos mas cerca ni hablamos y si lo hacemos es a través de Whatsapp o similares. 
Entre la televisión y ahora los móviles, se esta perdiendo la costumbre de conversar con las personas de nuestro entorno y familiares y nos estamos convirtiendo en seres solitarios y huraños .





domingo, 24 de marzo de 2013

Creación de métodos en Objective-C

Creación de Metodos en Objective-C.



Vamos a repasar un poco la creación de métodos en Objective-C:




Un metodo en Objective-C es lo que en otros lenguajes se suelen llamar funciones.

Los métodos pueden crearse que no devuelven nada :     -(void)nombreMetodo;


Si devuelve algún valor se pone entre paréntesis su tipo : -(NSString *)nombreMetodo;


Si no devuelve nada pero recibe parámetros: -(void)nombreMetodo: (NSString *) parámetro;


Si devuelve un valor y recibe parámetros: -(NSInteger)nombreMetodo:(NSString*)parámetro;


Si recibe varios parámetros:
-(NSString*)nombreMetodo:(NSString*)datoUno otroDatoMas:(NSInteger)datoDos yOtroDatoMas:(BOOL)datoTres; 


Así se podría crear un método que recibiese múltiples datos, notese que entre:  datoUno y otroDatoMas hay un espacio.


los métodos que empiezan por el signo  - son métodos de instancia y los que empiezan por el signo + son métodos de clase.

Aqui pongo un ejemplo del uso de métodos y su forma de llamarlos.





Contenido del archivo de encabezado ViewController.h:


//
//  ViewController.h
//  Metodos
//
//  Created by Francisco on 24/03/13.
//  Copyright (c) 2013 Francisco. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
@property NSInteger numeroUno,numeroDos,numeroTres,total;
@property (nonatomic,strong) NSString * nombreUno,* nombreDos,* nombreTres,* nombreCuatro;
@property (strong, nonatomic) IBOutlet UILabel *mostrarTexto;

-(NSInteger)metodoQueRecibeDosVariablesNumericas:(NSInteger)valorUno segundoParametro:(NSInteger)valorDos;
-(void)metodoQueNoDevuelveNada;
-(void)metodoQueRecibeUnParametro:(NSString*)parametro;
-(NSInteger)metodoQueDevuelveUnParametro;
-(void)metodoQueRecibeVariosParametros:(NSString*)parametroUno aquiVaElParametroDos:(NSInteger)parametroEnteroDos aquiVaElTercerParametro:(NSString*)tercerParametroTexto;

- (IBAction)verMetodoUno:(id)sender;
- (IBAction)verMetodoDos:(id)sender;
- (IBAction)verMetodoTres:(id)sender;
- (IBAction)verMetodoCuatro:(id)sender;

@end


Contenido del archivo de implementación ViewController.m


//  ViewController.m
//  Metodos
//
//  Created by Francisco on 24/03/13.
//  Copyright (c) 2013 Francisco. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

-(NSInteger)metodoQueRecibeDosVariablesNumericas:(NSInteger)valorUno segundoParametro:(NSInteger)valorDos
{
    //Este metodo recibe dos parametros numericos tipo NSInteger y los multiplica devolviendo con el return el valor de la multiplicacion.
    // Y asigna los valores recibidos a dos variables enteras, para poder usarlas fuera del metodo.
    _total= valorUno * valorDos;
    _numeroDos = valorUno;
    _numeroTres = valorDos;
   
    return _total;

}

- (void)metodoQueNoDevuelveNada
{
   //Este metodo, hace algo, pero no devuelve ningun valor.
    
    _mostrarTexto.text = @"Este texto es de el metodo que no devuelve nada";
}

- (void)metodoQueRecibeUnParametro:(NSString *)parametro
{
    //Este metodo recibe un parametro de texto y lo muestra en la etiqueta.
    _mostrarTexto.text = parametro;
}
-(NSInteger)metodoQueDevuelveUnParametro
{
    //En este metodo vamos a devolver un valor NSInteger que es un valor numerico
    //Para ello llama al metodo que recibe dos parametros numerico y que nos devuelve el resultado multiplicado. 
    [self metodoQueRecibeDosVariablesNumericas:154 segundoParametro:43];
    _numeroUno = _total;
   
    return _numeroUno;
}
-(void)metodoQueRecibeVariosParametros:(NSString *)parametroUno aquiVaElParametroDos:(NSInteger)parametroEnteroDos aquiVaElTercerParametro:(NSString *)tercerParametroTexto
{
    //Este metodo recibe varios parametros dos de texto y uno numerico.
    _mostrarTexto.text = [NSString stringWithFormat:@"%@ ,Parametro Numerico: %i , %@",parametroUno,parametroEnteroDos,tercerParametroTexto];
}

 //aqui podemos ver las llamadas a los metodos al pulsar cada boton.

- (IBAction)verMetodoUno:(id)sender
{
    [self metodoQueNoDevuelveNada];
}

- (IBAction)verMetodoDos:(id)sender
{
    [self metodoQueDevuelveUnParametro];
     _mostrarTexto.text = [NSString stringWithFormat:@"Valor de multiplicar: %i x %i %i",_numeroDos,_numeroTres,_numeroUno];
}

- (IBAction)verMetodoTres:(id)sender
{
    [self metodoQueRecibeUnParametro:@"Parametro recibido de texto"];
}

- (IBAction)verMetodoCuatro:(id)sender
{
    [self metodoQueRecibeVariosParametros:@"Parametro de Texto" aquiVaElParametroDos:108 aquiVaElTercerParametro:@"Tercer Parametro tambien de texto"];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end


Hay que recordar que la UILabel o etiqueta donde se muestra el texto la he llamado: mostrarTexto y que hay que conectar la etiqueta y los botones con su correspondiente IBOutlet e IBAction para que funcione en tu XCode.















Espero les guste y les sirva para algo si alguien queiere que esplique algo determinado que me ponga un comentario con su petición.
Saludos.

sábado, 2 de marzo de 2013

Reutilizar metodos para reproducir varios sonidos o mostrar alertas diferentes.

Tutoriales XCode.



En este pequeño tutorial vamos a ver como usar un metodo para reproducir varios sonidos diferentes y tambien otro metodo para mostrar varias alertas diferentes.

Al hacer la llamada al método le pasamos en una variable el texto que queremos que nos muestre y en el otro caso el nombre del archivo de audio que queremos que reproduzca.











Archivo de cabecera ViewController.h.


//
//  ViewController.h
//  PruebasVarias
//
//  Created by Francisco on 02/03/13.
//  Copyright (c) 2013 Francisco. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h> //Hay que importar el Framework de sonido

@interface ViewController : UIViewController
@property (strong,nonatomic) AVAudioPlayer *reproductor;
@property (strong,nonatomic) NSString * idAudio;
@property (strong,nonatomic) UIAlertView * alerta;
@property (strong,nonatomic) NSString * idAlerta;
@property (strong,nonatomic) NSString * sonido;
- (IBAction)mostrarAlerta:(id)sender;
- (IBAction)reproducirSonido:(id)sender;


-(void)nombreSonido: (NSString *)recibeDatos;
-(void)textoAlertas: (NSString*)textoQueMuestra;

- (IBAction)alerta2:(id)sender;
- (IBAction)alerta3:(id)sender;
- (IBAction)sonido2:(id)sender;
- (IBAction)sonido3:(id)sender;


@end



Archivo de implementación ViewController.m.

//
//  ViewController.m
//  PruebasVarias
//
//  Created by Francisco on 02/03/13.
//  Copyright (c) 2013 Francisco. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize reproductor,idAlerta,idAudio,alerta,sonido;

- (void)viewDidLoad
{
    [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)mostrarAlerta:(id)sender
{
    [self textoAlertas:@"Alerta Uno"];
}

- (IBAction)reproducirSonido:(id)sender {
    [self nombreSonido:@"Alerta"];
    
    
}

-(void)nombreSonido: (NSString *)recibeDatos
{
  
    NSError *error;
    NSString *ruta =[[NSBundle mainBundle]pathForResource:recibeDatos ofType:@"mp3"];
    NSURL *url =[[NSURL alloc]initFileURLWithPath:ruta];
    self.reproductor=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error];
        
       [self.reproductor prepareToPlay];
        [self.reproductor play];
}
-(void)textoAlertas: (NSString*)textoQueMuestra
{
    alerta =[[UIAlertView alloc]initWithTitle:textoQueMuestra message:@"Texto Mostrado" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
    [alerta show];
}

- (IBAction)alerta2:(id)sender
{
    [self textoAlertas:@"Alerta Dos"];
}

- (IBAction)alerta3:(id)sender
{
    [self textoAlertas:@"Alerta Tres"];
}

- (IBAction)sonido2:(id)sender
{
    
    [self nombreSonido:@"Alerta2"];
}

- (IBAction)sonido3:(id)sender
{
    [self nombreSonido:@"Tap"];
}

@end



Bueno espero les guste y les sirva para algo, para cualquier duda o sugerencia dejen sus comentarios.

gracias.

lunes, 11 de febrero de 2013

Un lenguaje de programacion para empezar en este mundo.

Scratch es un sistema grafico de programación bastante básico pero muy interesante para iniciarse en el mundo de la programación y muy divertido, hay miles de tutoriales y mucha información al respecto.
Para todo aquel que quiera iniciarse en este mundo es un buen modo de empezar para comprender el complejo mundo de la programacion.

Desde aqui se peude descargar el entorno de programacion que es totalmente gratis y esta para Mac, Windows y linux.

http://info.scratch.mit.edu/es/Scratch_1.4_Download









Bueno espero les guste y empiecen a hacer pruebas, y quizas algun dia se conviertan en unos grandes programadores.
Varios enlaces muy interesantes: 

           http://www.scribd.com/doc/35299373/Scratch-Manual

            http://www.scribd.com/doc/23081518/ManualdeScratch

Para cualquier duda ya sabeis que solo teneis que preguntar.
Saludos.





martes, 5 de febrero de 2013

S4A Una sencilla y facil forma de programar nuestro Arduino.




Scratch for Arduino (S4A) Es un proyecto creado por Marina Conde, Víctor Casado, Joan Güell, José García y Jordi Delgado con la ayuda del Grupo de Programación Smalltalk del Citilab.

 Aqui teneis  su página web: http://seaside.citilab.eu/scratch/arduino.


La forma de usarlo es bastante sencilla, tenemos que descargar el firmware y una vez descargado abrimos el IDE oficial de Arduino:


Pegamos en el IDE el FirmWare descargado y con nuestro Arduino conectado lo verificamos y cargamos en el Arduino, recordad que tenéis que tener cerrado el S4A para que no entren en conflicto ambos programas, una vez cargado el " firmware" en nuestro Arduino ya podemos cerrar el IDE oficial y abrir el S4A.

Y ya podeis crear vuestros proyectos con el S4A es muy secillo pues esta en Español y una vez sepamos lo que queremos hacer solo es cuestión de ir arrastrando instrucciones al entorno.


Este es el programa mas basico en Arduino y que enciende un LED pinchado en la salida digital nº 13, lo enciende durante un segundo y lo apaga un segundo y así sucesivamente.

Su equivalente en S4A seria esto:


Como se puede apreciar la forma gráfica de S4A es mucho mas sencilla y fácil de aprender.
Dentro del propio programa hay un montón de ejemplos incluso podemos utilizar el Arduino para crear juegos y muchísimas cosas mas, creo que esto abre un abanico de nuevas posibilidades para nuestro Arduino.


Bueno, en internet hay mucha información al respecto sobre este apasionante mundo del Arduino y sus aplicaciones y sobre el S4A.





Un saludo y espero les guste, para cualquier duda dejen sus comentarios y preguntas y les responderé lo antes posible.
Gracias.