Continuando con el tema de multihilo, vamos a ver un ejemplo de cómo preparar una aplicación para que pase a un estado de suspensión :
Ejercicio 16: Multitasking, preparar dispositivo estado suspensión
Creamos un proyecto de la forma habitual, create a new Xcode proyect - Single View Application y una vez creado vamos a indicarle que la aplicación puede llevar ciertas tareas en segundo plano, en Supporting Files - archivo-info.plist
Y en Bundle OS Type code, pulsamos sobre el +, y ahi Required background modes :
Ahí vamos añadiendo elementos en función de las tareas que queramos poner en segundo plano, por ejemplo, escuchar musica y recibir datos via IP :
Una vez configurado esto, vamos a ver si el dispositivo acepta operaciones en background, añadimos un label al storyboard con su correspondiente conexión, y poco más, después añadimos en el archivo .m el código necesario para saber si el dispositivo acepta que las aplicaciones esten en modo "background" (segundo plano) :
.H
@interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UILabel *milabel; @end
.M
@implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIDevice *dispositivo; BOOL segundoPlano=NO; ///PREGUNTAMOS SI EL DISPOSITIVO SOPORTA SERVICIOS EN SEGUNDO PLANO if([dispositivo respondsToSelector:@selector(isMultitaskingSupported)]){ segundoPlano=dispositivo.multitaskingSupported; } //PREGUNTAMOS VALOR DE LA VARIABLE Y MOSTRAMOS VALOR EN EL LABEL if(segundoPlano){ self.milabel.text=@"Terminal con background"; }else{ self.milabel.text=@"Terminal sin background"; } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
Este dispositivo da como terminal sin background, porque lo estoy probando en un emulador y no le permite el modo.
Indice | Ejercicio anterior | Siguiente ejercicio |
0 comentarios:
Publicar un comentario