Вам необходимо убедиться, что вы делаете несколько вещей:
В настройках сборки вашей цели:
- установите Базовый SDK на iPhone Device 4.0
- установите в качестве цели развертывания iPhone OS значение iPhone OS 3.1.3 (или ниже)
В общих настройках цели в разделе «Связанные библиотеки» измените «Тип» рядом с MessageUI.framework на «Слабый».
Не импортируйте <MessageUI/MFMessageComposeViewController.h>
, иначе при запуске в 3.x произойдет сбой.Просто импортируйте <MessageUI/MessageUI.h>
Я не знаю, что такое os_version_num, но вот код, который я использую для проверки доступности MFMessageComposeViewController:
Class smsClass = (NSClassFromString(@"MFMessageComposeViewController"));
if (smsClass != nil && [MFMessageComposeViewController canSendText]) {
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
controller.body = text;
controller.recipients = [NSArray arrayWithObjects: nil];
controller.messageComposeDelegate = self;
[self presentModalViewController:controller animated:YES];
[controller release];
}