1

Я пытаюсь отправить sms через устройство. Но он выходит из строя на линииСМС через Iphone, MFMessageComposeViewController

[self presentModalViewController:picker animated:YES]; 

КОД:

MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init]; 
     picker.messageComposeDelegate = self; 

     picker.recipients = rec; // your recipient number or self for testing 
     picker.body = billInfo; 

     [self presentModalViewController:picker animated:YES]; 
     [picker release]; 

Error Log:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present a nil modal view controller on target <billSummary: 0xfc7e780>.' 
+0

Вы проверить сборщика равна нулю или не с помощью контрольных точек. Согласно журналу ошибок, было указано, что сборщик был ноль, чтобы представить модальное представление, поэтому найдите, почему сборщик был равен – Sumanth

ответ

2

Вы проверили + [MFMessageComposeViewController canSendText]? Из документов,

Перед использованием этого класса вы всегда должны проверить, настроено ли текущее устройство на отправку SMS-сообщений, вызывая метод класса canSendText. Если устройство пользователя не настроено для доставки SMS-сообщений, вы можете уведомить пользователя или просто отключить функции SMS в своем приложении. Вы не должны пытаться использовать этот интерфейс, если метод canSendText возвращает NO.

Другие причины не могли бы работать:

No SIM card? 
Device isn't running iOS 4. 
Device is an iPod Touch/iPad. 
"Device" is actually the simulator. 
+0

Спасибо, я тестировал на ipod. Хорошее руководство –

0
[self presentModalViewController:picker.view animated:YES]; 

<MFMessageComposeViewControllerDelegate> 

должны быть добавлены в .h вашего класса.

MFMessageComposeViewController - это подкласс UINavatigationController.

поэтому применять pushViewController вместо presentmodalviewController

+0

, передав picker.view, он дает несовместимое предупреждение типа указателя. –

Смежные вопросы