2016-09-15 13 views
0

スタンドアロンのiMessageアプリケーションを構築しています。私はMSMessagesAppViewControllerを継承するUIViewControllerを持っています。 activeConversationは常にnilと思われます。なぜどんなアイデア?私はAppleがサンプルIce Creamプロジェクトでメッセージを送信する様子を映しています。アクティブなMSConversationを取得してメッセージを送信する

MSConversation *conversation = [self activeConversation]; 
    if (conversation) { 
     MSMessageTemplateLayout *layout = [[MSMessageTemplateLayout alloc] init]; 
     layout.caption = @"Caption"; 
     layout.subcaption = @"subcaption"; 

     MSMessage *message = [[MSMessage alloc] init]; 
     message.URL = [NSURL URLWithString:@"www.example.com"]; 
     message.layout = layout; 

     [conversation insertMessage:message completionHandler:^(NSError *error) { 
      if (error) { 
       NSLog(@"Error sending message %@", [error localizedDescription]); 
      } 
     }]; 
    } 
    else { 
     NSLog(@"No &%#%&^# conversation found"); 
    } 

UINavigationControllerに埋め込まれUIViewControllerを注目に値するかもしれません。

+0

MSConversation * conversation = [MSConversation new];しかし、現在のスレッドを取得するためにまだ苦労して、新しいメッセージを送信します。 –

答えて

1

実際に会話スレッドとやりとりするのは、MSMessagesAppViewControllerのインスタンスを1つだけ持つことができます。他のコントローラはMSMessagesAppViewControllerから継承することができますが、これらのインスタンスでは、対話プロトコルやコンパクト/拡張トランジェントデリゲートメソッドは起動されません。

関連する問題