Para soportar iPhone OS 3.xy 4.0, controlo programáticamente la funcionalidad MFMessageComposeViewController de esta manera (úselo solo si la versión del SO es 4.0 o superior):Controlar mediante programación las versiones de iPhone OS para habilitar las funciones para OS 3.x y 4 - Problema MFMessageComposeViewController
// if iPhone OS version >= 4.0
if (os_version_num >= 4) {
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText])
{
controller.body = text;
controller.recipients = [NSArray arrayWithObjects: nil];
controller.messageComposeDelegate = self;
[self presentModalViewController:controller animated:YES];
[controller release];
}
}
embargo, cuando intento ejecutarlo en iPhone 3.1.3 dispositivo, inmediatamente me sale el siguiente error (incluso antes de la aplicación se carga):
dyld: Symbol not found: _OBJC_CLASS_$_MFMessageComposeViewController
Referenced from: /var/mobile/Applications/7232C474-FAD5-4E28-ABC5-8520F62300B0/TextMe.app/TextMe
Expected in: /System/Library/Frameworks/MessageUI.framework/MessageUI
datos Formateadores temporalmente no disponible, se volverá a intentar después de un 'continuar'. (No es seguro llamar a Dlopen en este momento)
¿Qué estoy haciendo mal?
El lenguaje ha cambiado de "débil" a "opcional" en Xcode 4. – ma11hew28