MSN API for Objective-C - iphone

I would like to know whether if there is any Objective-C MSN API. I have searched for a while and could not really find one.
And if not could somebody tell some good place to look to start the protocol from scratch. Some points on how to start with.
I found this site mentioning details about the protocol. But still not sure how to start with.
http://www.hypothetic.org/docs/msn/index.php
Thank you and Kind Regards,
Tharindu

I think you might be out of luck. MSN is proprietary so APIS are going to be thin on the ground and those that exist will be reverse engineered.
Having said that, Pidgin is an open source IM client that supports MSN. You could use its core library (libpurple) which is written in C and hence compatible with Objective-C.

Related

Developing a VoIP/Chat Server-Client platform, where to start

I am interested in developing a Client and a Server for VoIP and IM communication like mumble/teamspeak/skype/raidcall etc.
I would like to stay away from hardcore stuff, while my main goals regarding the client are:
Basic VoIP and Chat functionality
Custom emoticons in chat
A completely flat designed UI
Project lasts one month
So is this in your opinion a realistic and doable concept? If so which language do you think that would fit my above goals the most? And can you also point me to a certain direction? (Like should I use xmpp, should I find a completed Server and develop only the client etc).
I can code in C, C++ and Java at a university level.
Thanks in advance.
Maybe you should have a look at: www.freeradionetwork.eu
It's a prehistoric, but nevertheless interesting project. They published their protocol in hope for someone to write an API.
Do you want to stream through your server, or make it P2P?

Vines for XMPP Server rather than other solutions

I am new to xmpp and all that implies. I'm a RoR Developer and I need to use a xmpp server for a project. On top of that, I will need to do some heavy customization so that my rails app can create users, make them friends, track all communication, etc.
Being a ruby developer, and someone who likes nice (looking) things, I REALLY want to use vines for the xmpp server. It's in ruby, it's friendly, I like it: http://www.getvines.org/
But, other things like ejabberd, Tigase, etc have much more reputation, and I guess they have a better community. I'm guessing this because finding tutorials seems far too difficult.
So I'm looking for someone to tell me why Vines is not a good solution for XMPP, and what I should use instead. Because otherwise, I'm opting to use Vines =)
Thanks!
For anyone reading this later, I've learned a good bit today about vines.
Firstly, it seems the entire thing was made by one developer, who has since started fulltime jobs for twitter then github. So there is not likely to be new features or updates coming to vines.
Second, is there is virtually no community build around vines. It's very hard to troubleshoot issues.
Hope this info helps others!

MQTT client for iPhone

I am trying to follow this blog for building push services for iPhone. The blog uses Android as the working platform,but it can be migrated to iPhone too, provided I get an MQTT client in objective C..which I cant find anywhere. The closest I got to this is :
I got a C implementation here - libmosquitto
This post says I can use something like an HTTP bridge.
Can anyone please help me exploit these two options ? I dont know the next step to take :(
Thanks !!
I'm not familiar with Objective C at all, but it seems as though you can compile any C code as Objective C. Would this get round your problem?
If you're using gcc, you can force it to compile as Objective C using "-x objective-c".
The HTTP option would not help you in this case as you're not trying to talk to a JMS app via MQ (well - you haven't said that is your goal). Your best bet would be to compile something like libmosquitto or one of the other MQTT clients (see list at http://mqtt.org) for the iPhone. There's now a good example https://github.com/njh/marquette which uses mosquitto's libraries on iOS
I am currently using MQTTKit in my projects. It's fairly easy and straightforward to use.
For swift you can use the following library : https://github.com/ltg-uic/ios-mqtt-base

How do I implement activesync protocol in iphone app?

How do I implement activesync protocol in iphone app?
Any advice, any docs and tutorials are well come.
I have read the Exchange ActiveSync and iOS 4 Devices from apple.
Is there any real docs for this?
Despite having asked a question in the comment, you might be looking for the Microsoft documentation of the Exchange Server Protocols.
If you're thinking of implementing your own client though, I would strongly advise you to pause and consider whether it's really worth it. As someone who's worked on a server-side implementation of these protocols, I can tell you they can get pretty complicated - and the documentation doesn't always give you enough information. (In some areas it's flat out wrong, too.)
It is hard, but not impossible to write an app which communicates via exchange active sync. The link to the Exchange Server Protocols in Jons answer contains a document named MS-ASWBXML. You have to write an encoder for wbxml on your own and the document describes clearly the needs. Additionaly I recommend strongly this document: http://www.w3.org/TR/wbxml/
If the low level is working, you have to implement the EAS-protocol on top ob wbxml, which is not trivial, because of bugs in the documentation, different behaviour of different protocol versions. It will be a lot of trial an error to examine, why the exchange server does not understand your requests ;-)
Using Apple's built in support just means using Apple's APIs for writing to the Address Book and Calendar Store on the phone. Your app isn't supposed to know anything about the way that data is synchronised: it just happens in the background.
If you want direct control over the synchronisation process, then Apple's APIs cannot help you. Jon Skeet's answer contains a link to Microsoft's protocol documentation, but as he mentioned you'll be setting yourself up for a world of pain.
EAS is really meant for device makers to implement and not normal application development. You should look over the ActiveSync Protocol documentation and look into licensing the protocol (yeah its a pay-for license) and then ask yourself if its worth all the trouble to write all the business logic, ecoding logic, intensive testing and the licensing. An alternative is to use Exchange Web Services (EWS), which might be a much better fit - more rhobust in many areas and no licensing needed.
You should also look at this: http://blogs.msdn.com/b/webdav_101/archive/2011/09/29/new-to-exchange-activesync-development.aspx

Using Soap Web Services in iPhone with wsdl2objc?

I do realize this is a duplicate question, however the only other question is quite old, so I would like to know if anyone has had any recent experience with the latest version of wsdl2objc.
I am doing an application that will communicate with SOAP Web services exposed by a third party application (it only exposes them this way unfortunately). As far as I understand all wsdl2objc does is convert the WSDL to something useful in objective C code. I have also done the tutorial icodeblog intro to soap
So has anyone used the latest version of wsdl2objc?, what is your experience with it?, did you run into any problems with it?. Please let me know. Also some code sample would be really great.
Any information available on using SOAP Web Services with iPhone would be appreciated. Thank you.
-Oscar
My most recent experiences with wsdl2objc is that it's on the right road, but not really there yet. It's definitely the kind of program you'd want. It just may or may not be able to handle the WSDLs you actually have.
Short answer: try it and see if it works for your WSDLs. If it does, hooray. If it doesn't, you have two options. For reasonably simple WSDLs, write the SOAP by hand. This often is actually the easiest approach. If the WSDL is complex, then use gSOAP to get to C++ and then wrap the C++ in Objective-C++ (or use the -c option to gSOAP and wrap the resulting C, whichever you're more comfortable with).
I think this gives a good example of how to configure your environment (for noobs like me)
http://blog.futurebytez.com/2010/05/calling-web-services-using-wsdl2objc.html
The official wiki for wsdl2objc (linked in the article) has a code snippet which gives you the basics.