Estoy creando una aplicación en la que tengo que crear una lista cuando la aplicación se lance por primera vez. Luego usaré el plist para almacenar los detalles que un usuario luego ingresa. ¿Cómo puedo detectar el primer lanzamiento de la aplicación? Estaba experimentando con NSUserDefaults, pero creo que estoy haciendo algo mal.Detectando la primera ejecución de una aplicación
Respuesta
Usted puede hacer esto con NSUserDefaults. Pero ten cuidado con el Número de versión.
Haz lo siguiente:
NSString *bundleVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
NSString *appFirstStartOfVersionKey = [NSString stringWithFormat:@"first_start_%@", bundleVersion];
NSNumber *alreadyStartedOnVersion = [[NSUserDefaults standardUserDefaults] objectForKey:appFirstStartOfVersionKey];
if(!alreadyStartedOnVersion || [alreadyStartedOnVersion boolValue] == NO) {
[self firstStartCode];
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:appFirstStartOfVersionKey];
}
el selector de firstStartCode sólo se llama en el tiempo para cada versión de la aplicación en la primera carrera.
¿Está bien?
Me gusta usar NSUserDefaults para almacenar una indicación de la primera ejecución.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (![defaults objectForKey:@"firstRun"])
[defaults setObject:[NSDate date] forKey:@"firstRun"];
[[NSUserDefaults standardUserDefaults] synchronize];
A continuación, puede probar por ello más tarde ...
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if([defaults objectForKey:@"firstRun"])
{
// do something or not...
}
Tomado de: Best way to check if an iPhone app is running for the first time
por lo que el primer bloque de código, lo pongo en el delegado de la aplicación bajo didFinishLaunching? – theNoobProgrammer
Sí, eso debería funcionar. – CamelSlack
Usted puede usar la siguiente:
-(void) firstLaunch {
//Code goes here
}
-(void) firstLaunchCheck {
if(![[NSUserDefaults standardUserDefaults] boolForKey:@"didLaunchFirstTime"]) {
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"didLaunchFirstTime"];
[self firstLaunch];
}
}
- 1. Detectando cuando una aplicación ASP.NET recicla
- 2. Detectando el lanzamiento de una aplicación
- 3. Detectando aplicación hang
- 4. excelente primera experiencia de ejecución
- 5. ¿Hay una bandera de "primera ejecución" en WP7
- 6. Ejecutar la función solo en la primera ejecución ios
- 7. La animación de diseño no funciona en la primera ejecución
- 8. jQuery - $ .each encontrar si la primera ejecución de $ .each
- 9. ¿Cómo puedo detectar una primera ejecución en Firefox, un complemento?
- 10. Detectando la latencia de AirPlay
- 11. C#: Detectando qué aplicación tiene foco
- 12. Detectando programáticamente si hay una aplicación instalada en el iPhone
- 13. Tarea de retardo: primera ejecución del planificador en Spring 3
- 14. Detectando beats en una canción
- 15. NIO - Detectando una conexión cerrada
- 16. Accidente de la aplicación Unity en la primera escena
- 17. Detectando la frecuencia fundamental
- 18. Detectando si la aplicación está en modo de diseño en Windows Phone 7 ViewModel
- 19. Detectando la edición de JComboBox
- 20. Detectando el uso activo de la cámara
- 21. Detectando mensajes de tostado
- 22. Detectando la codificación de caracteres de una solicitud HTTP POST
- 23. Detectando una cárcel chroot desde
- 24. Detectando si la ventana es una ventana clave en cocoa
- 25. Detectando combinaciones de teclas
- 26. ¿Puedo ejecutar una actividad de Android solo la primera vez que se abre una aplicación?
- 27. Detectando la virtualización del registro
- 28. ejecución del applet en la aplicación web
- 29. Detectando si ya se está ejecutando otra instancia de la aplicación
- 30. Conexión de la consola a la aplicación ASP.NET en ejecución
+1 Así es como siempre lo hago. –