Thursday, March 8, 2018

Multipath tcp in iOS

Multipath TCP enables iOS to use both wifi and data connection simultaneously which increases the user experience and works around common problem network latency,network connection drop out,etc.

It was introduced in iOS 7 itself and it was used by only Siri but it is released for developers.
since iOS 11.

This can be lot more useful when it comes to streaming of audio and video.

One can opt multipath tcp in NSURLSession

var multipathserviceType:URLSessionConfiguration.MultipathServiceType
none =0
handover = 1


It never used multipath acts as usual


acts more like how wifi assit works i.e only when wifi is weak it uses data and if wifi signal gets stronger then it uses wifi


It uses both wifi and data at a same time but it will not be very aggressive on data network.
Siri uses interactive mode


Same as interactive but it'll use data network aggressively

Wednesday, January 31, 2018

Easy to use java decompiler

Recently I had to get java class files out of JAR that was provided to me.

I could get easily class files from JAR by renaming the file from myLib.jar to

But I couldn't find a easy way to decompile .class file (byte code ) back to java.

I found some online services to do that but its not safe and most of them are blocked due to firewall in corporate network.

and doing this manually with javap which is part of JDK is not good as it displays other information than original source code which makes kind of hard to copy and save as java file.

so I thought like I would use a stand alone desktop program.

I found JD GUI good

because it provides good UI(Tree view explorer) for us to see and shows the actuall source code and easy to export as java file

I tried couple of other Stand along programs but it wouldn't support latest mac.

Thursday, January 25, 2018

Ever wanted to run your windows apps on Android device, now its possible with Wine 3.0

With the introduction of Wine 3.0 now you can run windows 7 apps on Android.

It works better with X86 based processor and with ARM based phone you are limited to programs that runs with Windows RT.

One more thing is it even allows you to run some windows application on mac.

Even though this application is not bugfree,Its still worth a try.

Thursday, November 30, 2017

How to make ipa using terminal

Here to script to do that.
xcodebuild -exportArchive -archivePath myproject.xcarchive -exportPath IPA -exportOptionsPlist options.plist
Here is sample options.plist

Monday, November 20, 2017

Date and time issues with Mobile app and API

Most of the times while we develop mobile apps ,we run into date and time issues with respect to timezones and summer time.

so easy solution is to make sure API supports ISO-8601 date and time format  and its already a internet standard.

so basically when we submit the date and time we can submit the date and time in ISO-8601 date and time format.API developers will be storing it as UTC in DB and they will be returning the date and time format in UTC format.

Monday, September 11, 2017

Where do I find Objective class declarations for Swift ?

This is a common question for lots of people.

The swift files are made available to Objective C world with [SwiftName]-swift.h so anybody can go in there and c their objective declaration for their swift counterparts.

so to use this will simply import the header files in objective c class

likewise in-order to consume objective c objects in swift world we'll just mention those things in bridging header thats all and its immediately available to swift world.

so I wondered where the objective files are stored in swift syntax so that it can be used in swift world.

these files can be found when you make following selection in xcode

                                    Navigate -> Jump to generated files

Thursday, May 11, 2017

Its possible to develop iOS apps in Windows now

Microsoft has released Xamarin Live Player using which one can debug and develop iOS apps just with windows machine
Here is the official link for that

To sign and release the app Apple system is required anyhow