API Instant Messenger

Мне нужно просто простое приложение Objective-C или API, который может отправлять и получать мгновенные сообщения одному пользователю.

ГОЛЫЕ КОСТИ.

Я смотрел на Skype, но часть Objective-C выглядит действительно устаревшей. AIM предпочтительнее, но все, что может отправлять и получать мгновенные сообщения, идеально.

Есть ли API для этого? Для AIM или Skype?

Примеры будут оценены, и помните, я совершенно новый для Obj-C.

4 ответа

Решение

В настоящее время я работаю над реализацией Objective-C протокола OSCAR (AIM). Он обновляется на GitHub. Если я понимаю, что вы хотите сделать правильно, библиотека, хотя и неполная, удовлетворит ваши потребности. Он может отправлять и получать сообщения, а также работать с сообщениями о состоянии. Он также может прочитать список друзей, если вы заинтересованы в этом. Вся библиотека должна быть закончена к концу месяца, и вы можете проверить это на GitHub:

https://github.com/unixpickle/LibOrange

Это очень просто:

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

После входа отправка сообщений работает следующим образом:

 AIMMessage * reply = [AIMMessage messageWithBuddy:[message buddy] message:@"Test"];
 [theSession.messageHandler sendMessage:reply];

Очевидно, что вы можете проверить пример на GitHub, но я подумал, что добавлю этот пример кода, чтобы ослабить ваш аппетит. Наслаждайтесь!

Я не знаю о простых или голых костях, но Adium - хороший IM-клиент с открытым исходным кодом для OS X, написанный на Какао.

UDPATE: Возможно, вы захотите проверить этот пост в блоге ("На пути к XMPP Framework с открытым исходным кодом для какао"). Похоже, что автор тоже хотел иметь собственную платформу Jabber/XMPP Cocoa и даже создал для нее проект в Google Code.

Я не знаю точно, насколько сложно это было бы использовать, но разве нет библиотеки с открытым исходным кодом для доступа к IM, называемой libPurple? Может быть, вы должны проверить это и посмотреть, что он может делать в XCode.

Если это для мелкомасштабного развертывания, было бы довольно легко развернуть свое собственное использование Распределенных Объектов. Я слышал, что может быть проблематично пытаться использовать DO для интернет-сервиса с высоким трафиком.

Другие вопросы по тегам