Obtener información del dispositivo antes de que se cargue la vista principal de la aplicación

Objective-c es bastante nuevo para mí, por lo que es posible que esté haciendo una pregunta absurdamente simple, pero después de haber estado buscando en la web y en algunos libros, estoy un poco perplejo hasta cierto punto. Probablemente debido a mi grave falta de conocimiento con obj-c. Entonces ... cualquier ayuda con este será realmente útil ...

Todo lo que quiero hacer es obtener información simple sobre el dispositivo en el que se ejecuta la aplicación (usando [UIDevice currentDevice]) en el inicio de la aplicación, pero antes de que se cargue la vista principal de la aplicación. Cosas simples eh, pero con toda honestidad, ¡no tengo la idea de cómo hacer esto! Luego quiero que cualquier información que tenga esté disponible (¿En una variable? No estoy muy seguro de si ese es el término correcto con obj-c) en toda la aplicación y sus vistas. Una vez más, realmente no tengo mucha idea de cómo.

Vengo de un fondo de desarrollo web, por lo que esto es muy nuevo para mí en gran medida. Así que ... sí, ¡cualquier consejo / sugerencia, ayuda, etc. sería ridículamente útil!

Gracias de antemano, lo siento por mi pregunta n00b!

preguntado el 16 de mayo de 11 a las 19:05

2 Respuestas

El lugar para esto probablemente estaría en los delegados de su aplicación -application:didFinishLaunchingWithOptions: método. Este método se llama cuando su aplicación termina de iniciarse y es (generalmente) responsable de agregar su vista principal a la ventana de la aplicación. Puede poner la información en una variable de instancia del delegado de su aplicación. Puede obtener una referencia al delegado de su aplicación desde cualquier lugar de su programa llamando al [[UIApplication sharedApplication] delegate]. Una implementación de ejemplo podría verse así:

// In MyAppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    //Get your information, potentially put it into an
    //instance variable of the App Delegate

    //Add the main view to the view hierarchy
    [self.window addSubview:viewController.view];
    [self.window makeKeyAndVisible];

    return YES;
}

contestado el 17 de mayo de 11 a las 00:05

Excelente, eso es más o menos lo que quiero. ¡Gracias por la gran respuesta! - rico

Es posible que pueda utilizar el método viewController "viewWillAppear". querrá estar en la misma área que el método "viewDidUnload", que estará en cualquier archivo * ViewController.m que esté conectado a la vista principal.

Posiblemente tendrá que hacerlo en la rutina main (), antes de llamar a UIApplicationMain.

contestado el 17 de mayo de 11 a las 00:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.