How to remove unused images from Xcode Project

December 17, 2012 Leave a comment

Most of the times we include many png files in our project and then forget to delete those which are never referenced in our project. You may use following script to find out unsed images in an iOS project

For files which are not referenced neither in xib nor in code, something like this might work:

PROJ=`find . -name '*.xib' -o -name '*.[mh]'`

for png in `find . -name '*.png'`
    name=`basename $png`
    if ! grep -q $name $PROJ; then
        echo "$png is not referenced"


You need to save the above script in a file(let’s say ‘myscript’ ) and then follow the below procedure to execute it

  • Go to your Xcode project root folder
  • type “sh myscript”

It’s done. on your screen you will see all the png files which are not referenced in your code.

Note: Beware it will also list the png files which are not referenced in your xib or .m file but are referenced from your sqlite database so make sure you dont delete them.


Categories: iOS Tags: , , ,

News Book – Android Application

September 12, 2011 Leave a comment

Read News from various international sources like CNN,BBC,ESPN,FOX NEWS etc using their RSS Feeds.
The application contains news feeds from more than 100 sources/channels/websites.
It consumes minimum bandwidth and runs very fast even if you are using the GPRS.
News feeds are automatically UPDATED on hourly basis.

News Book

Categories: Uncategorized Tags: ,

Using Android RestClient to Communicate with Google App Engine

Few weeks back I was researching about which is the most efficient  way to call a web service using Android.

I had several options SOAP,KSOAP2 or JAX-RS.

And i concluded my short research after watching google offical video


RESTFULL Client is the google recommended solution for calling web services via android.

I read many tutorials and articles on Restful webservices.

I found the “Android: Using RestClient to communicate with Google App Engine” the best tutorial by Chad Lung.

In the tutorial he created an android project and developed a RESTClient.

He creates a Google App Engine Project. and uses the RESTClient to call the service of Google app Engine.

Google App Engine(GAE) offers users the ability to build and host web applications on Google’s infrastructure.

The languages supported by GAE are JAVA and PYTHON. You can download the app engine sdk from here and follow the getting started guide there.

Not only is creating an App Engine application easy, it’s free! You can create an account and publish an application that people can use right away at no charge, and with no obligation. An application on a free account can use up to 500MB of storage and up to 5 million page views a month. When you are ready for more, you can enable billing, set a maximum daily budget, and allocate your budget for each resource according to your needs.

You can register up to 10 applications per developer account.

I have followed he tutorial it works perfect. i will upload the fully functional source code archive file soon.

Also If you want to learn more about google app engine just follow this ebook “Google App Engine Java and GWT Application Development“. This is the most latest ebook available on GAE.

You can download the ebook from here

The downloaded archive file includes the PDF ebook and  the fully functional source codes used in the ebook , isn’t it nice 🙂


Categories: Android

Android and Web Services

Google recommends using RESTful Web services.It increases performance.  Because REST defines architectural design that focuses on system’s resources.

REST Web service follows four basic design principles

  • USE HTTP methods explicitly. CRUD operations should have one -to-one correspondance with HTTP supported operation i.e, GET, POST, PUT & DELETE.
  1. To create a resource on the server , use POST.
  2. To retrieve a resource, use GET.
  3. To change the state of  a resource or to update it, use PUT.
  4. To remove or delete a resource, use DELETE
  • Be stateless ( it improves performance by saving bandwidth and minimizing  server side application state).
  • Expose directory structure-like URIs. The structure of a URI should be straightforward, predictable, and easily understood.
  • Transfer XML, JavaScript Object Notation (JSON), or both. This allows the service to be used by a variety of clients written in different languages running on different platforms and devices.



Categories: Android

Advanced introduction to android

Today i came across a very nice presentation on

It explained various important topics briefly.

  1. Android Architecture
  2. Android Webservices
  3. Android Secutiry Model

enjoy the slides.

Categories: Android Tags: ,