0

スタンドアロンの iMessage アプリケーションを構築しています。UIViewControllerから継承する がありますMSMessagesAppViewControlleractiveConversation常にゼロのようです。理由はありますか?Apple がサンプルの Ice Cream プロジェクトでメッセージを送信する方法を反映しています。

 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実際に会話スレッドと対話するインスタンスは 1 つしか持てないことがわかります。他のコントローラーは継承できMSMessagesAppViewControllerますが、これらのインスタンスでは、会話プロトコルまたはコンパクト/拡張遷移デリゲート メソッドのいずれも、拡張機能が遭遇した最初のインスタンスでのみ起動されます。

于 2016-10-04T19:04:19.300 に答える