XMPP client library for ios with BOSH support - ios

I am looking for a Objective C XMPP client library with BOSH support for my iPad app. I came across XMPPFramework but I learned that it does not have BOSH support or does it?
Can any one point me to some library or how i can use XMPPFrameWork with BOSH support?

I was not able to find one for my project utilizing Jabber/XMPP so I ended up using libstrophe for my project. It works perfectly, if you need an Objective-C object, you can simply wrap the method calls with senders and receivers.

Related

iOS XMPP vs WebRTC, which should I use?

I want to build an iOS application that people can video call or audio call to each other. Stable calling is my goal, and it means I need less connection interrupt as much as good, I also need light application (not too high application size because of video libraries)
I've googled about "ios video chat' keywords since last few days. Researched and found that the most popular framework (technology, library) for video/audio calling are XMPP and WebRTC (I'm I right or do guys have something better?)
XMPP - Client/server TCP communication
WebRTC - P2P Connection
The information about these libraries make me confused, so which library I should use for better performance, light application, stable?
Any idea?
XMPP is about signaling (reaching from A to B, indicating the desire to have a "call", disconnecting, etc).
WebRTC is about media (actually sending voice and video).
You need both signaling and media in your app.
For media use WebRTC. There's nothing else that will make sense. On iOS, it is kind of tricky at the moment, as iOS 11 incorporates WebRTC already, so how this will apply and help you in your development is yet to be seen (see here).
My suggestion is to aim for a web app and then figure out if you need to go for a fully native implementation and port WebRTC to iOS - or just use a webview inside an app (Cordova or Crosswalk should do).
For signaling, you can use XMPP. Or anything else for that matter. My own personal preference is a proprietary protocol. Look at Matrix or SimpleWebRTC for that.
Also - don't forget that you will need to deal with STUN and TURN - NAT traversal, but that's a simpler thing to handle.
XMPP Framework: https://github.com/robbiehanson/XMPPFramework/wiki/IntroToFramework
WebRTC Native Code: https://webrtc.org/native-code/ios/
its not about which is best its about what fulfills our requirements

iOS - XMPP with WebRTC for realtime video call or chat

I have searched the whole web but did not get any document for passing the XMPP IQ to WebRTC. Also I see is the XMPP Jingle class, but cannot find any document for integrate this.
Can someone help me with setting up a two-way video call using XMPP and WebRTC? By providing a working sample of Objective-C code?
I have tried:
Checking https://github.com/YK-Unit/AppRTCDemo and many other Github projects.
Are you want to support different platforms to get live video streaming?
So, i have a very good experience with https://www.nanocosmos.de/ library.
It's supports iOS, Android and Web. Has demo applications and trial period.
About documentation:
XMPP Framework: https://github.com/robbiehanson/XMPPFramework/wiki/IntroToFramework
It's very good documented.
WebRTC Native Code:
https://webrtc.org/native-code/ios/
It's contains all information about WebRTC.

Using Socket I/O client in Objective-c

HI i'm new to using socket I/O.
I would like to use the socket send and receive functions in multiple screens like a chat app. I'm not understanding how to handle it. can anyone help me.
I'm using the socket from https://github.com/socketio/socket.io-client-swift
I'm using objective-c coding
My dear friend,
Links below are links I've read when I developed iOS Chat Client using Socket.io recently,
If you're a project based learner, you can see full working iOS Chat Client Using Socket.io sample here: https://github.com/bonnguyen/socket.io_chat_swift
Just try to build and run it. It helps me a lot, but unfortunately it's written in Swift. Hope you can translate it to Obj-C by yourself.
Bonus:
for your information, for chat view, you can use this library: https://github.com/jessesquires/JSQMessagesViewController
or if you like to create your own code for chat view, you can read this tutorial:
http://www.innofied.com/creating-old-style-message-bubble-swift/

messageUI.framework useful in sending pictures?

Can one use messageUI.framework in swift to send photos to someone the way snapchat does? I've done it using parse, but looking for a different way.
You can not use messageUI.framework for sending the photos.
if you want snapchat functionality you should use XMPP.
This is iOS framework for XMPP
https://github.com/robbiehanson/XMPPFramework also, you should require XMPP server
For XMPP server please, check openfire and ejabberd

Enable BOSH services in XMPP IOS framework (XMPPFramework) to create chat based app

I have implemented Chat based application. I can able to do many functionality with https://github.com/robbiehanson/XMPPFramework library. It is very good library. But after some days my server side guys included bash services in server. My server side guys implementing xmpp using Strophe.js. And they are using following code to enable BOSH service while connecting.
BOSH_SERVICE = "http://host.com:5280/http-bind";
new Strophe.Connection(BOSH_SERVICE);
Now they told me enable BASH service in IOS side also. Now I can not connect to that server.
How to include BOSH service in robbiehanson xmpp IOS library (https://github.com/robbiehanson/XMPPFramework)?
The iOS xmppFramework does not currently offer support for BOSH. Here's a confirmation:
https://github.com/robbiehanson/XMPPFramework/issues/6#issuecomment-54085037
But, your iOS client can still login to the server via the socket connection and your web client can use BOSH. That's your alternative and it should work well.
If you really want to create your own iOS BOSH implementation, look into XMPPTransports as a starting point.
Happy coding :)

Resources