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

Thursday, April 27, 2017

Ever wanted to download older apple developer tools

You can find tools like Xcode 3 with iOS 4 SDK

Don't risk yourself to download these tools from unofficial sources
Which can lead to XcodeGhost problems too

Tuesday, April 25, 2017

Simulator builds for iOS

Go to ~/Library/Developer/CoreSimulator/Devices/

You will find directories with alphanumeric names

then click on the one of the directories and make following selection


Again you will find directories with alphanumeric names if you click on that you will find

Simulator build over there

You can copy this .app over and and install it using following command on a running simulator

xcrun simctl install booted *.app


Installing iOS device build on simulator will not work out.

  • iPhone simulator uses i386 architecture
  • iPad simulator builds uses x86_34 architecture
  • iOS device build uses ARM based architecture

iOS simulator has so many drawbacks

Simulator uses lower level OSx frameworks not actual iOS frameworks so results can be different sometimes
GPU based UI rendering is different etc..

iOS simulator is good for functional testing and general and UI based alignment verifications

Wednesday, February 22, 2017

Git merging the conflicts through command line

To merge the conflict I had to do the following steps

1.Swithcing to the mother branch

 git checkout mother_branch_name

mother_branch -> to which I have to merge my child branch

2.Merging the child branch to mother branch

 git merge child_branch_name

Now it'll notify the conflicting files

3.Opening the merge tool

 git mergetool --tool=emerge

There are 17 different merge tools out of that I prefer emerge as its easy

Here are some of the keys to operate emerge tool

N- next
P- previous
A- choose the mother branch change
B- choose the child branch change
Q - Quit and save the changes

As soon as the screen appears ,Press N to see the conflict .. then use P and N to navigate across the conflicts

choose A and B on each conflict

Once you are done press Q to save or discard the modifications you did

To know more about the emerge here