No se puede mostrar ViewController modal en iOS7.

Traté de mostrar los controlleres de vista definidos por el sistema (MFMailComposeViewController, TWTweetComposeViewController, etc.) como una vista modal.

Pero estos viewcontrollers no aparecen en iOS 7 (se ejecutan en iOS5, iOS6).

Los viewcontrollers creados por mí aparecen en iOS7 (ex.HogeViewController).

No presentViewController:animated:completion en viewDidLoad o viewWillAppear .

Alguien tiene una idea?

Registros de la console:

init Error Domain = NSCocoaErrorDomain Code = 4097 "La operación no pudo completarse (error Cocoa 4097.)"

o

_serviceViewControllerReady: error: Error Domain = NSCocoaErrorDomain Code = 4097 "La operación no se pudo completar. (Error de cocoa 4097.)"

o

Llamadas desequilibradas para comenzar / finalizar transiciones de aspecto.

TWTweetComposeViewController (no aparece)

 TWTweetComposeViewController *viewController = [[TWTweetComposeViewController alloc]init]; viewController.completionHandler = ^(TWTweetComposeViewControllerResult result){ NSLog(@"Result : %d",result); }; [self presentViewController:viewController animated:YES completion:NULL]; 

Iniciar session

Resultado: 0

MFMailComposeViewController (aparece un momento y descarta pronto)

 - (void)send:(NSString*)email{ if ([MFMailComposeViewController canSendMail]) { MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; NSArray *toRecipients = @[email]; [picker setToRecipients:toRecipients]; [picker setSubject:@"Subject"]; [picker setMessageBody:@"Body" isHTML:NO]; [self.navigationController presentViewController:picker animated:YES completion:NULL]; } } - (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error { [self dismissViewControllerAnimated:YES completion:^{ NSLog(@"error:%@,result:%d",error.description,result); }]; } 

Iniciar session

_serviceViewControllerReady: error: Error Domain = NSCocoaErrorDomain Code = 4097 "La operación no se pudo completar. (Error de cocoa 4097.)" Llamadas desequilibradas para comenzar / finalizar transiciones de aspecto. error: (nulo), resultado: 0

Resulta que el problema solo se muestra al personalizar UIBarButtons. Si utilizamos lo siguiente en nuestra aplicación de 32 bits que se ejecuta en iPhone 5s, tenemos el problema:

 [[UIBarButtonItem appearance] setTitlePositionAdjustment:UIOffsetMake(0, 1.0) forBarMetrics:UIBarMetricsDefault]; 

Al salir de esa línea funciona alnetworkingedor del problema. Hemos archivado un radar.

Este es un problema cuando no comstacks para 64 bits (arm64) en la configuration de tu proyecto. Aunque esto puede no ser siempre una opción para algunas personas porque actualmente Google Analytics no es compatible con los dispositivos de 64 bits.

Es posible que pueda evitar este problema con algunas subclasss. Estaba teniendo el mismo problema, y ​​en mi caso el culpable fue:

 [[UISearchBar appearance] setSearchTextPositionAdjustment:UIOffsetMake(15.0f, 0.0f)]; 

De todos modos, ya estaba usando una subclass de UISearchBar, así que cambié eso a:

 [[KA_SearchBar appearance] setSearchTextPositionAdjustment:UIOffsetMake(15.0f, 0.0f)]; 

Eso ha resuelto el problema para mí. Solo probado en un iPhone 5s, iOS 7.0.3.

Estoy recibiendo el mismo comportamiento en las mismas situaciones. En mi caso, resultó ser el uso del selector de apariencia "setSeparatorInset" de UITableView. Deshacerse de eso solucionó el problema. Esto parece un error en el final de Apple, pero al less hay una solución.

Esta pregunta muestra a alguien que tiene un problema similar y en su caso, deshacerse de un selector de apariencia UISearchBar lo solucionó. Entonces, algo no funciona con algunos de estos selectores UIApppearance.

Esta publicación me ayudó a encontrar una solución a un problema similar. Pero mi problema no estaba relacionado con la barra de tabs, así que pensé que compartiría si alguien más encuentra esta publicación:

El modal de correo se abrió al tocar una celda de la tabla, pero se descartaría instantáneamente. En mi caso, este código causó el problema:

 [[UILabel appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setFont:[UIFont systemFontOfSize:17.0]]; 

Lo eliminé y ¡todo funciona!

En mi caso, el código siguiente causará el mismo problema en una máquina o simulador de 64 bits . Espero ayudar a alguien a resolver este problema.

 if ([UITableViewCell instancesRespondToSelector:@selector(setSeparatorInset:)]) { [[UITableViewCell appearance] setSeparatorInset:UIEdgeInsetsZero]; } 

Este problema se produce en iPad Air (64 bits) cuando la aplicación no se cumple para la architecture 64. El problema que encontré fue cada selector UIAppperty que intenta usar UIOffsetMake / UIOffsetZero no funciona correctamente! ejemplo

  [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(1.0, 1.0) forBarMetrics:UIBarMetricsDefault]; 

o

  [[UITableViewCell appearance] setSeparatorInset:UIEdgeInsetsMake(0, 5, 0, 5)]; 

Creo que es un error en el código de Apple y probé algunas cosas, pero nada funciona. Mejor si puedes comentar los lugares en los que configurasInsets en los selectores UIAppperty

Tuve el mismo error al usar SLComposeViewController para compartir con Facebook o Twitter usando el simulador de 64 bits o un iPhone 5s, luego elimino todas las líneas de código que usan "aspecto, por ejemplo, [UITableViewCell appearance] o [UIBarButtonItem appearance], y cada carrera está bien.

Actualicé xcode a la versión 5.1 y funcionó bien ahora.

NSXPCConnectionInterrupted = 4097. Haría que su código vuelva a intentar el command ya que el error parece ser transitorio.