ver quedan los las guardan explorar donde descargas descargados como carpetas carpeta archivos app iphone objective-c ios4 background-process keep-alive

quedan - explorar carpetas iphone



Cómo mantener una aplicación iPhone ejecutándose en el fondo completamente operativa (6)

En primer lugar, sé que solo se admite el uso de aplicaciones de voip, audio y ubicación en segundo plano y que se ejecutarán solo mientras se reproduce el audio o mientras se utilizan los servicios de localización, etc.

Lo que quiero saber es si hay una manera de mantener mi aplicación funcionando en segundo plano totalmente operativa, sin importar el impacto en la vida de la batería.

De esa forma, el usuario de mi aplicación puede seleccionar entre las configuraciones para mantener viva la aplicación cuando quiera y solo por el tiempo que desee. por ejemplo, si está esperando algo que requiera que la aplicación se esté ejecutando, después de recibir los mensajes, puede desactivar la función de mantener activo.

No sé si esto es posible, pero he leído alguna publicación que dice así, pero desafortunadamente no dijeron cómo = (

ACTUALIZACIÓN: en este tutorial , encontré que Acrobits tiene dos aplicaciones en la tienda de Apple que "pueden forzar a la aplicación a mantenerse viva y despierta en segundo plano". ¿Entonces hay una manera de hacer esto?


Depende de lo que haga. Si su aplicación ocupa demasiada memoria, o realiza llamadas a funciones / clases que no deberían, SpringBoard puede terminarla. Sin embargo, lo más probable es que Apple lo rechace, ya que no sigue sus 7 usos de fondo.


Desde ioS 7 en adelante, hay formas más nuevas para que las aplicaciones se ejecuten en segundo plano. Apple ahora reconoce que las aplicaciones tienen que descargar y procesar datos constantemente.

Aquí está la nueva lista de todas las aplicaciones que pueden ejecutarse en segundo plano.

  1. Aplicaciones que reproducen contenido audible para el usuario mientras está en segundo plano, como una aplicación de reproductor de música
  2. Aplicaciones que graban contenido de audio mientras está en segundo plano.
  3. Aplicaciones que mantienen a los usuarios informados de su ubicación en todo momento, como una aplicación de navegación
  4. Aplicaciones compatibles con Voice over Internet Protocol (VoIP)
  5. Aplicaciones que necesitan descargar y procesar nuevo contenido regularmente
  6. Aplicaciones que reciben actualizaciones regulares de accesorios externos

Puede declarar las tareas en segundo plano compatibles de la aplicación en Info.plist utilizando X Code 5+. Por ej. agregar la clave UIBackgroundModes al archivo Info.plist de su aplicación y agregar un valor de ''fetch'' a la matriz le permite a su aplicación descargar regularmente y procesar pequeñas cantidades de contenido de la red. Puede hacer lo mismo en la pestaña ''capacidades'' de Propiedades de la aplicación en XCode 5 (adjuntando una instantánea)

Puede encontrar más sobre esto en la documentación de Apple


Para ejecutar en dispositivos iOS de serie, conviértalo en un reproductor / grabador de audio o una aplicación VOIP, una legítima para enviar a la tienda de aplicaciones, o una falsa, aunque solo sea para su propio uso.

Incluso esto no hará que una aplicación sea "totalmente operativa" sea lo que sea, sino que se restringe a API limitadas.


Puede realizar tareas durante un tiempo limitado después de que su aplicación se dirija a un segundo plano, pero solo durante la duración provista. Correr por más tiempo hará que su aplicación finalice. Consulte la sección " Completar una tarea de larga duración en segundo plano " de la Guía de programación de aplicaciones de iOS para obtener información sobre cómo hacerlo.

Otros han aprovechado la reproducción de audio en segundo plano como un medio para mantenerse con vida como un proceso de fondo, pero Apple solo aceptará una aplicación si la reproducción de audio es una función legítima. El ítem 2.16 en las pautas de revisión publicadas por Apple establece:

Las aplicaciones multitarea solo pueden usar servicios en segundo plano para los fines previstos: VoIP, reproducción de audio, ubicación, finalización de tareas, notificaciones locales, etc.


Puede ser el enlace Ayudará bcz u podría tener que implementar el código en Appdelegate en la aplicación ejecutar en el método de fondo .. También consulte el sitio developer.apple.com para la clase de aplicación Here hay un enlace para ejecutar la aplicación en segundo plano


Si alguna tarea en segundo plano se ejecuta durante más de 10 minutos, la tarea se suspenderá y se pedirá el bloque de código especificado con beginBackgroundTaskWithExpirationHandler para limpiar la tarea. el tiempo restante de fondo se puede verificar con [[UIApplication sharedApplication] backgroundTimeRemaining]. Inicialmente, cuando la aplicación está en primer plano, backgroundTimeRemaining se establece en un valor mayor. Cuando la aplicación se pone en segundo plano, puede ver que el valor de backgroundTimeRemaining disminuye desde 599.XXX (1o minutos). una vez que backgroundTimeRemaining se vuelve CERO, la tarea de fondo se suspenderá.

//1)Creating iOS Background Task __block UIBackgroundTaskIdentifier background_task; background_task = [application beginBackgroundTaskWithExpirationHandler:^ { //This code block is execute when the application’s //remaining background time reaches ZERO. }]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //### background task starts //#### background task ends }); //2)Making background task Asynchronous if([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]) { NSLog(@"Multitasking Supported"); __block UIBackgroundTaskIdentifier background_task; background_task = [application beginBackgroundTaskWithExpirationHandler:^ { //Clean up code. Tell the system that we are done. [application endBackgroundTask: background_task]; background_task = UIBackgroundTaskInvalid; }]; **//Putting All together** //To make the code block asynchronous dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //### background task starts NSLog(@"Running in the background/n"); while(TRUE) { NSLog(@"Background time Remaining: %f",[[UIApplication sharedApplication] backgroundTimeRemaining]); [NSThread sleepForTimeInterval:1]; //wait for 1 sec } //#### background task ends //Clean up code. Tell the system that we are done. [application endBackgroundTask: background_task]; background_task = UIBackgroundTaskInvalid; }); } else { NSLog(@"Multitasking Not Supported"); }