• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

Selene: come programmare task e implementare il background fetch nelle applicazioni iOS

By Francesco Novelli | on 30 Settembre 2014 | 0 Comment
Risorse utili Tips & Tricks

Oggi parliamo di una funzionalità iOS interessante, che rientra tra le attività che possono essere eseguite mentre l’app è “chiusa”: il fetching di nuovi dati in background. Per chi non lo sapesse, si tratta di un modo intelligente di richiamare l’app affinchè carichi dati mentre l’utente sta utilizzando un’altra applicazione e alla successiva apertura della stessa non occorrerà che l’utente prema l’eventuale tasto refresh per ottenere nuovi dati, perché questi sono già stati scaricati. Interessante, vero?

Il timing di fetching è però gestito solo in parte dallo sviluppatore, ed è l’OS che gestisce gran parte del lavoro. Se pensate che tutto questo sia complicato da gestire niente paura, una libreria utile che sto qui a segnalarvi ci viene in soccorso semplificando tutte le procedure per la programmazione di task: Selene.

Il progetto è disponibile tramite Cocoapods (pod ‘Selene’) o tramite github a questo indirizzo: https://github.com/linkedin/Selene ed è gestito da Linkedin, che ha realizzato per propri scopi il tutto per poi decidere di rilasciarlo liberamente agli iOS Developers.

Per utilizzarlo (come spiegato nel file Readme) è necessario inserire tra le modalità di background il fetch.

Ogni task viene gestito come una classe NSObject che implementa il protocollo SLNTaskProtocol. I metodi obbligatori per implementare il protocollo sono i seguenti:

+ (NSString *)identifier {
  return NSStringFromClass(self);
}

+ (NSOperation *)operationWithCompletion:(SLNTaskCompletion_t)completion {
  NSOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
    // Eseguire il task vero e proprio
    completion(UIBackgroundFetchResultNoData);
  }];
  return operation;
}
// Tempo di risposta previsto
+ (CGFloat)averageResponseTime {
  return 5.0;
}
// Priorità del Task
+ (SLNTaskPriority)priority {
  return SLNTaskPriorityLow;
}

Dopo aver implementato la propria classe si dovrà eseguire altri due passaggi; il primo è di aggiungere la classe alla lista di Task schedulati.

NSArray *tasks = @[[SomeTask class]];
// Esegui il task ogni 5 minuti
[SLNScheduler setMinimumBackgroundFetchInterval:60 * 5];
// Aggiungi il Task a quelli schedulati
[SLNScheduler scheduleTasks:tasks];

Ed infine affidare la gestione da AppDelegate a Selene:

- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
  [SLNScheduler startWithCompletion:completionHandler];
}

Grazie a questo piccolo progetto potrete facilmente implementare il Background fetch nelle vostre app, ricordando sempre di evitare di abusare di questa funzione per evitare spiacevoli sorprese con la batteria dei vostri utenti.

Share this story:
  • tweet

Tags: ios background fetchlibrerie ios developersMateriale OpenSourceprogrammare task iosselene ios

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • AsyncDisplayKit: libreria per creare interfacce asincrone

    5 Gennaio 2015 - 2 Comments

Author Description

No Responses to “Selene: come programmare task e implementare il background fetch nelle applicazioni iOS”

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO