0

我正在构建一个独立的 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.

4

1 回答 1

1

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

于 2016-10-04T19:04:19.300 回答