2016-09-15 57 views
0

我正在構建一個獨立的iMessage應用程序。我有一個UIViewController,它繼承自MSMessagesAppViewController。看來activeConversation總是零。任何想法爲什麼?我正在鏡像蘋果如何在他們的冰淇淋樣本中發送消息。獲得活動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"); 
    } 

這可能是值得注意UIViewController被嵌入在UINavigationController

+0

MSConversation * conversation = [MSConversation new];會發送一條新消息,但仍然努力獲得當前線程。 –

回答

1

原來,您只能有一個MSMessagesAppViewController實例,它將實際與交談線程交互。其他控制器可以從MSMessagesAppViewController繼承,但對話協議或壓縮/擴展轉換委託方法都不會在這些實例中觸發,只是擴展遇到的第一個實例。