#objective-c #cocoa #macos #instant-messaging
#objective-c #cocoa #macos #обмен мгновенными сообщениями
Вопрос:
Мне нужно всего лишь простое приложение Objective-C или API, которое может отправлять и получать мгновенные сообщения одному пользователю.
ГОЛЫЕ КОСТИ.
Я посмотрел Skype, но часть Objective-C выглядит действительно устаревшей. Предпочтительнее использовать AIM, но идеально подойдет все, что может отправлять и получать мгновенные сообщения.
Существует ли API для этого? Для AIM или Skype?
Примеры были бы оценены, и помните, я совершенно новичок в Obj-C.
Комментарии:
1. Что вы имеете в виду, говоря, что вам нужно приложение или API? Вы пишете IM-клиент? На самом деле это не то место, где можно запрашивать рекомендации сторонних приложений.
2. Нет, мне не нужно «приложение». Я хочу найти фреймворк или пример кода, который поможет мне создать IM-клиент. Хотя и ПРОСТОЙ. отправлять и получать сообщения.
3. Тогда вам нужен пример кода или приложение, исходный код которого открыт? Не могли бы вы, пожалуйста, отредактировать свой вопрос, чтобы прояснить это?
Ответ №1:
Я не знаю насчет simple или bare bones, но Adium — хороший IM-клиент с открытым исходным кодом для OS X, написанный на Cocoa.
UDPATE: Возможно, вы захотите ознакомиться с этим сообщением в блоге («На пути к XMPP-платформе с открытым исходным кодом для Cocoa»). Похоже, автор тоже хотел создать свой собственный фреймворк Jabber / XMPP Cocoa и даже создал для него проект в Google Code.
Комментарии:
1. Я посмотрел на это. Но это слишком над моей головой.
2. code.google.com/p/xmppframework/downloads/list — Могу ли я не загружать код? Спасибо!
3. Попробуйте перейти на вкладку Source . Похоже, что для загрузки всего этого вам нужно клонировать репозиторий Mercurial. Вы также можете просто просмотреть исходный код .
4. Отлично! Спасибо! — Я сейчас это проверю. Я дам вам знать, если это сработает.
Ответ №2:
В настоящее время я работаю над реализацией протокола OSCAR (AIM) на Objective-C. Он обновляется на 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, но я подумал, что выложу этот пример кода, чтобы утолить ваш аппетит. Наслаждайтесь!
Ответ №3:
Я не знаю точно, насколько сложно это было бы использовать, но разве нет библиотеки с открытым исходным кодом для доступа к IMS под названием libPurple? возможно, вам стоит проверить это и посмотреть, что это может сделать в Xcode.
Ответ №4:
Если это предназначено для мелкомасштабного развертывания, было бы довольно легко развернуть свое собственное, используя распределенные объекты. Я слышал, что может быть проблематично пытаться использовать DO для интернет-сервиса с высоким трафиком.