Estoy intentando completar una aplicación en IOS 5.1 con Storyboard. Básicamente estoy haciendo una aplicación de Dropbox. Dado que estoy usando el enlace de Dropbox SDK a Dropbox se maneja en AppDelegate.m. El usuario tiene la opción de poder desvincularse de una sesión y vincular nuevamente en diferentes Controladores de Vista. Así que cada vez que el usuario enlace y aplicación desvinculado tiene que cambiar la vista de AppDelegate a un controlador de vista que no está conectada a RootViewController¿Cómo realizar Segue en AppDelegate?
En el ejemplo original del Dropbox Dropbox manejado transición como siguiente código
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
if ([[DBSession sharedSession] handleOpenURL:url]) {
if ([[DBSession sharedSession] isLinked]) {
[navigationController pushViewController:rootViewController.photoViewController animated:YES];
}
return YES;
}
return NO;
}
Pero yo estoy usando Storyboard con El controlador de navegación y cualquiera de los siguientes métodos no funcionan. Puse métodos en comentarios.
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
if ([[DBSession sharedSession] handleOpenURL:url]) {
if ([[DBSession sharedSession] isLinked]) {
NSLog(@"App linked successfully!");
// At this point you can start making API calls
/*UIViewController *viewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:NULL] instantiateViewControllerWithIdentifier:@"MeetingViewController"];
[self.navigationController pushViewController:viewController animated:YES]; */
//[self performSegueWithIdentifier:@"xxxx" sender:self];
/* LoginDropboxViewController *loginController=[[LoginDropboxViewController alloc] initWithNibName:@"LoginDropbox" bundle:nil];
[navigationController pushViewController:loginController animated:YES]; */
}
return YES;
}
// Add whatever other url handling code your app requires here
return NO;
}
Aquí está el guión gráfico de la aplicación
Entonces, ¿cómo puedo cambiar de punto de vista en AppDelegate.h?
Nota: Si agrego un segue y el nombre del segue digamos goToMeeting [self performSegueWithIdentifier: @ "goToMeeting" remitente: self];
error que consigo es: No Visible @interface for 'AppDelegate' declares the selector performSegueWithIdentifier:sender
Pero, ¿qué puedo hacer si necesito pasar datos de parámetros a la llamada performSegueWithIdentifier? ¿En delegado de aplicación no hay ViewController así que no pude sobrescribir la llamada prepareForSegue()? – ChaosSpeeder