2013-04-22 3 views
0
  1. как открыть MFmessageComposeviewcontroller на любом контроллере представления (topviewcontroller) из NSObject метода класса преобразования приложений в фоновом режиме.как всплывающее объект MFMessageComposeViewController на любой вид класса контроллера от NSObject класса Ios

    Это мой код, который всплывет массаж контроллер без ошибок

    MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init]; 
    
    if([MFMessageComposeViewController canSendText]) 
    { 
        controller.body = @"Check out FundooSpace for mobile. Download it now from www.lsaknlansc.cas.kasjla/FundooSpace/d"; 
        controller.recipients=(NSArray *)passa; 
        passa=nil; 
        AppDelegate *appDelegateObject1 = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
    controller.messageComposeDelegate=self; 
        [appDelegateObject1.navigationCntr.topViewController performSelectorOnMainThread:@selector(presentModalViewController:animated:) withObject:controller waitUntilDone:NO]; 
    } 
    

Но 1 после отправки или кнопку отмены щелкнул затем получить аварии.
2. Метод delegate не вызывается (как установить делегат на контроллер сообщений)

ответ

1

Я думаю, что NSObject работает в фоновом режиме. Он также является делегатом для Compose View Controller, поэтому фатальная ошибка: EXC BAD ACCESS. Свойство messageComposeDelegate не сохраняет объект. Вы используете ARC, не так ли?

Попытайтесь сохранить объект, назначая его любому сильному var, до тех пор, пока контур контроллера компоновки не закончится.

+0

спасибо, что он работает нормально ........ – Mahesh

+0

есть одна проблема возникает, когда я создаю файл ipa и устанавливаю на устройство, тогда он получает сбой (wait_fences: не удалось получить ответ: 10004003). но запустить в Xcode с устройством, тогда он работает fine.please предложить мне, почему это происходит? – Mahesh

+0

Это совсем другая проблема. Пожалуйста, откройте новый вопрос. – Gabriel