2012-02-19 20 views
15

siguiente situación: Deseo enviar mensajes de la aplicación. Este es mi código que crea el MFMessageComposeViewController:MFMessageComposeViewController en Simulator - canSendText?

-(void) showMessageComposerWithText:(NSString*)messageText telNumber:(NSString*)telNumber composeDelegate:(id)delegate 
{ 
    MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init]; 
    if([MFMessageComposeViewController canSendText]) 
    { 
     controller.body = messageText; 
     controller.recipients = [NSArray arrayWithObject:telNumber]; 
     controller.messageComposeDelegate = delegate; 

     [delegate presentModalViewController:controller animated:YES]; 
    } 
} 

Así que creo que esto es sencillo. Cuando pruebo en Simulator, recibo la siguiente excepción: Application tried to push a nil view controller on target <MFMessageComposeViewController: 0x8a4e090>. También me pregunto por qué [MFMessageComposeViewController canSendText] devuelve YES al ejecutar la aplicación en el simulador.

Cuando se ejecuta en el dispositivo, todo funciona correctamente.

No pude encontrar nada en los documentos/web sobre este comportamiento extraño.

Estoy ejecutando Xcode 4.3 en OS 10.7.3, destino de implementación es iOS 5.0.

Gracias de antemano, tubtub

Respuesta

23

Este problema se produce cuando instala Messages beta en OS X Lion.

Editar: También ocurre en Mountain Lion cuando hay una cuenta de iMessage configurada y habilitada. Si la cuenta está deshabilitada, funciona correctamente (canSendText devuelve NO).

Consejo: Si usa controller.modalTransitionStyle = UIModalTransitionStylePartialCurl, puede volver a Simulator haciendo clic en la "página" curvada en la esquina superior izquierda.

+2

Si se instalan los mensajes beta, 'canSendText' devuelve' SÍ', pero la vista se volverá negra y vacío (sin contenido). Si se desinstala Messages beta, 'canSendText' devuelve' NO'. Xcode 4.4 GM y iPhone 5.1 Simulator en Lion. – Chris

+0

¿Alguna solución para esto todavía? Esta falla persiste en Mac OS 10.8.2 con XCode 4.6.1. –

2

que estoy viendo la misma cosa. Creo que es un error en el simulador iOS 5 con Xcode 4.3. canSendText devuelve correctamente NO en el simulador iOS 4.3. El mismo código funciona bien en el dispositivo.

4

El simulador siempre debe devolver NO desde canSendText, este no es el caso para los simuladores iOS 5.0 y 5.1. Con Xcode 4.2 se bloqueó, en Xcode 4.3 simplemente empuja un controlador de vista nula.

+0

Tengo el mismo problema, que se está presionando una vista nula pero incluso está sucediendo en mi dispositivo de prueba un iPhone 4 con iOS 5.1 – OscarTheGrouch

1

Con esta configuración, canSendText devuelve correctamente NO en el simulador (además, un UIAlertView parece decir mensajería de texto no está disponible):

  • Mountain Lion
  • Xcode 4.4,
  • iOS 5.1
+0

Supongo que no tiene la cuenta de iMessage configurada y habilitada. –

0

Obteniendo el mismo error. Im en OSX 10.8.5 con XCode 5.0 (5A1413).

Intenté cambiar a diferentes tipos de simulador (iPhone, iPad) pero los resultados son los mismos. También intenté deshabilitar la cuenta en Mensajes, pero fue en vano.

Cuestiones relacionadas