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
https://www.xamarin.com/live

P.S:
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

https://developer.apple.com/download/more/

FYI:
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

Data/Containers/Bundle/Application/

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

Note:

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 tool.click here 

Saturday, September 24, 2016

iOS resources to keep yourself updated

You guys can see the trending Objective c & swift projects then learn or adopt those things to your project
https://github.com/trending/objective-c
https://github.com/trending/swift

Advanced apple presentations
https://realm.io/news/tags/apple/

Technical Blogs
Add this to your RSS reader

Sunday, September 11, 2016

Marshalling vs Serialization

Serialization
When you serialize an object, only the member data within that object is written to the byte stream; not the code that actually implements the object.

Marshalling
When you marshall an Object along with the member data,code base is available
i.e functions of the object..it'll have the function implementation so that using the methods the data can be operated upon