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 для интернет-сервиса с высоким трафиком.