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