A partire da iOS 7, le API di multitasking di Apple consentono alle app di essere eseguite in tre nuove modalità in background: recupero in background, contenuto di notifica remota e servizio di trasferimento in background. Apple offre inoltre agli utenti iOS la possibilità di controllare se tutte le app possono essere eseguite in background o se le singole app possono essere eseguite in background (Impostazioni> Generali> Aggiornamento app in background). C'è un modo per la mia app di rilevare a livello di codice se l'utente ha disabilitato la capacità della mia app di aggiornare in background?Rilevamento delle impostazioni utente per Aggiornamento app in background in iOS 7
risposta
questo è quello che stai cercando.
if ([[UIApplication sharedApplication] backgroundRefreshStatus] == UIBackgroundRefreshStatusAvailable) {
NSLog(@"Background updates are available for the app.");
}else if([[UIApplication sharedApplication] backgroundRefreshStatus] == UIBackgroundRefreshStatusDenied)
{
NSLog(@"The user explicitly disabled background behavior for this app or for the whole system.");
}else if([[UIApplication sharedApplication] backgroundRefreshStatus] == UIBackgroundRefreshStatusRestricted)
{
NSLog(@"Background updates are unavailable and the user cannot enable them again. For example, this status can occur when parental controls are in effect for the current user.");
}
Controllare la proprietà backgroundRefreshStatus di UIApplication. Quanto segue è riportato nel documento Apple.
Questa proprietà riflette se l'app può essere avviata in background per gestire i comportamenti in background, come l'elaborazione degli aggiornamenti di posizione in background e l'esecuzione di recuperi in background. Se la tua app si basa sul lancio in background per eseguire attività, puoi utilizzare il valore di questa proprietà per determinare se è possibile farlo e avvisare l'utente se non lo è. Non avvisare l'utente se il valore di questa proprietà è impostato su UIBackgroundRefreshStatusRestricted; un utente con restrizioni non ha la possibilità di abilitare il multitasking per l'app.
aggiornato per Swift 3 e iOS10:
switch UIApplication.shared.backgroundRefreshStatus {
case .available:
print("Refresh available")
case .denied:
print("Refresh denied")
case .restricted:
print("Refresh restricted")
}
- 1. aggiornamento automatico delle app iOS
- 2. Aggiornamento delle app in-house - Programma per sviluppatori iOS Enterprise
- 3. iOS - Caricamento in background delle foto
- 4. applicazione non è in esecuzione in background in iOS 7
- 5. App Impostazioni di accesso in iOS
- 6. impostazioni Aprire Twitter in Impostazioni app
- 7. iOS thread in background rallentare quando interfaccia utente è inattivo
- 8. iOS 9 Posizione Aggiornamento Attività in background dopo 3 minuti
- 9. Notifica aggiornamento app iOS
- 10. C# Aggiornamento dell'interfaccia utente Worker di background
- 11. Aggiornamento in-app con TestFlight su iOS
- 12. Salvataggio delle informazioni utente nelle impostazioni dell'applicazione
- 13. Suono di avviso delle app disattivato su iOS 7
- 14. Aggiornamento cache in background JPA
- 15. Aggiornamento delle posizioni mentre l'app in background funziona su simulatore ma non sul dispositivo (iOS 9)
- 16. Le dimensioni degli aggiornamenti delle app per iOS sono molto più grandi delle dimensioni delle app
- 17. App iOS - Invio di e-mail in background utilizzando Swift
- 18. Xcode 7: la voragine tra test delle app e test dell'interfaccia utente è invalicabile?
- 19. Memorizzazione delle impostazioni utente nella tabella: come?
- 20. iOS: Mantieni l'applicazione in esecuzione in background
- 21. Recupero in background iOS per notifiche locali
- 22. Le applicazioni in background * ever * si chiudono in iOS 4?
- 23. Impostazione delle impostazioni e-mail in app apps web.config
- 24. iPhone - Modifica delle impostazioni dell'app mentre l'applicazione è in esecuzione in background
- 25. UISplitViewController in XCode 6 per iOS 7
- 26. Uso delle impostazioni app nel livello DAL
- 27. Debug delle attività in background
- 28. Unione video in background iOS
- 29. Come memorizzare le impostazioni delle app in Xamarin.Forms
- 30. Esiste un'API di utilizzo dati cellulare in iOS 7?
Grazie, è stato utile. Tuttavia, puoi commentare la mia domanda dipendente a questo proposito - http://stackoverflow.com/questions/19235183/uiapplicationbackgroundrefreshstatusdidchangenotification-usage-without-correspo – Ashok
Salve, dovevo chiamare il loro metodo. In background non riesce a chiamare –
I ' m indovinare lo sfondo appRefresh non ha nulla a che fare con le notifiche silenziose, giusto? – Honey