即时消息框架示例

时间:2010-10-15 00:44:23

标签: objective-c instant-messaging

有人可以举例说明如何登录AIM,然后使用IMframework发送和接收消息吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

我知道谷歌在gTalk中使用OpenAIM。您可以在http://dev.aol.com/aim

了解更多信息

GMail:http://www.google.com/support/chat/bin/answer.py?hl=en&answer=61024

答案 1 :(得分:1)

我是AOL即时通讯工具的Objective-C库的作者。它提供了一种简单的面向对象的即时消息传递方法。人们过去曾使用它来开发iOS IM应用程序,甚至还添加了它以支持Off-The-Record之类的东西。您可以check it out on github,下载源代码,并通过手动复制源将其添加到应用程序中。在项目中获得代码后,您可以这样登录:

AIMLogin * login = [[AIMLogin alloc] initWithUsername:username password:password];
[login setDelegate:self];
if (![login beginAuthorization]) {
    NSLog(@"Failed to start authenticating.");
    abort();
}

登录并获得会话后,您可以按照以下步骤设置状态消息:

AIMBuddyStatus * newStatus = [[AIMBuddyStatus alloc] initWithMessage:@"Using LibOrange on Mac!" type:AIMBuddyStatusAvailable timeIdle:0 caps:nil];
[session.statusHandler updateStatus:newStatus];
[newStatus release];

您可以向这样的好友发送消息:

AIMBlistBuddy * buddy = [[theSession.session buddyList] buddyWithUsername:buddyName];
[theSession.messageHandler sendMessage:[AIMMessage messageWithBuddy:buddy message:@"<BODY>Hello, world!</BODY>"]];

该库几乎支持AIM用户日常使用的所有标准功能。请参阅MyTest.m中的工作示例。请注意,它包含核心功能以外的内容,例如线程阻塞检测等。