Automating UI testing on the iOS

February 26, 2012

A couple of weeks ago I gave a talk about automating UI testing on the iOS at the Second Tel Aviv iOS Developers Meetup. In the lecture I introduced importance of performing automated UI testing, and discussed in details the two most significant tools in this area – Apple’s UIAutomation framework, and Gorilla Logic’s FoneMonkey framework – maybe the greatest testing tool in the universe.

Gorilla Logic - FoneMonkey

Unfortunately, The lecture was not video taped, but the presentation is very elaborate. You can find the presentation on SlideShare, and a project with all the code examples I showed in the presentation can be found on github.

In my opinion, an organized testing culture is one of the key parameters to a successful iOS project, and if you ever wondered what is the best way to automate testing on the iOS – this presentation is a good starting point.


The best iOS open source libraries you never heard about

January 12, 2012

iOS developers have a very rich and dynamic community of open source projects, but most developers only use a fraction of it.
Being the lazy developer that I am, I love finding new and useful open source projects to use (why waste time building something that some one else already made?).
Most of you probably already know some of the famous open source projects such as Three20, ASIHttpRequest, ShareKit, etc. (If not, you have some homework to do) – I will not talk about them today. Instead, in this post I will share with you some of the best, and lesser known, projects that I found.
Read the rest of this entry »

DreamZ – A lucid dreams inducing iPhone app

November 30, 2011

I recently release a new app that I was working on the last couple of months. This is my first paid app, and in my unbiased opinion, it’s one of the most interesting apps on the market today 🙂

DreamZ is a revolutionary new app that allows you to realize that you are     dreaming and control your dream, otherwise known as a Lucid Dream.

How does it work?

As you sleep you go through different phases, ranging from deep sleep to light sleep. The most interesting phase is the REM (Rapid Eye Movement) phase, in which most dreams occur.

Based on your body movements while you’re asleep, DreamZ is able to know the exact sleep phase you are in, using the built-in iPhone’s sensors.
Read the rest of this entry »

Network sniffing on the iPhone

November 22, 2011

Monitoring the network activity of your device is one of the best ways to debug network related bugs. A lot of times hours of frustrating debugging can be solved by simply looking at the actual packets your device is sending to the internet. Also, and you didn’t hear it from me, it is a very useful method to see what other apps are doing.

This tutorial assumes familiarity with network analysis tool such as Paros and Wireshark. I will not show how to use those tools, or the scenarios where you need to use them, but I will show two very simple ways to use those tool to monitor network activity on your iPhone.

Read the rest of this entry »

Adding custom code snippets extensions

November 1, 2011

One of the most useful feature of xcode 4 was the built in code snippets library. It allows you to use pre made pieces of code instead of writing them over and over.

You can use those code snippets either by dragging them from the Code Snippet Library section, or by simply typing a completion shortcut.

xcode comes with a variaty of useful code snippets which you are more than welcomed to browse, but today I will show you how to add your own custom code snippets.

Read the rest of this entry »

The importance of custom primitive properties in CoreData

October 23, 2011

The topic of this week’s post is responsible for hours of frustrating debugging that I went through the first time I developed a large project using CoreData.

CoreData is really great once you learn how to use it properly, but it’s learning curve is pretty steep. And as if to complicate things a little further, the templates xcode is providing are pretty useless at best, and down right buggy in several cases.

Lets see an example where xcode’s template can cause severe bugs:

Read the rest of this entry »

Instantiating custom views from nib

October 18, 2011

Hi again everyone!

Subclassing UIView to create your own custom class is one of the most frequent tasks an iOS developer has to do.

And for me at least, every time that i created my own custom view, i was torn apart by what is the correct and more convenient way to design my view – from code or from interface builder. I always thought that there was no “right answer”, and that this decision depends on the scenario.
I was wrong. Using interface builder is better. Let’s see why.
Read the rest of this entry »