获取活动的MSConversation以发送消息

时间:2016-09-15 19:57:09

标签: ios msmessage

我正在构建一个独立的iMessage应用程序。我有UIViewController继承自MSMessagesAppViewController。似乎activeConversation总是零。有什么想法吗?我正在反映Apple如何在他们的示例冰淇淋项目中发送消息。

 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

1 个答案:

答案 0 :(得分:1)

事实证明,您只能有一个MSMessagesAppViewController实例,它实际上会与会话线程进行交互。其他控制器可以从MSMessagesAppViewController继承,但会话协议或压缩/扩展转换委托方法都不会在这些实例中触发,只是扩展遇到的第一个实例。