我正在构建一个独立的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
。
答案 0 :(得分:1)
事实证明,您只能有一个MSMessagesAppViewController
实例,它实际上会与会话线程进行交互。其他控制器可以从MSMessagesAppViewController
继承,但会话协议或压缩/扩展转换委托方法都不会在这些实例中触发,只是扩展遇到的第一个实例。