App Store Search Ad Results – Developer’s Perspective

App Store Search Ads. Not unlike recent Apple product announcements, this announcement brought mixed emotions. I couldn’t help but remember my results in 2013 with iAd Workbench. Feelings aside, they offered a $100 promotional credit (valid through December 31, 2016). I immediately took advantage of this offer and started my new campaign.

Set Up

The set up process was very simple, already beating iAd Workbench in terms of site responsiveness. Once I provided a credit card (which had to be in the main account holder’s name), I started a new campaign.

6,132 impressions, 505 taps and 54 conversions


For my first attempt, I figured I should keep things simple. I left everything with the default settings, a Default Max CPT Bid of $0.30, and a CPA Goal of $1.00.

App Store Search Ad Settings

Results (45 Days Later)

I spent $25.75 of the promo credit, with 6,132 impressions, 505 taps and 54 conversions. The app is $1.99.

App Store Search Ads Results

Compared to iAd WorkBench (2013)

I spent $49.92 (of my own money, not a promo credit), with 257,715 impressions, 168 taps, and 3 conversions. The app is free.

iAd Workbench Results

(Note: The app I advertised in 2013 was a free game, and the app I’m advertising on the new platform is a paid keyboard app).

This is the first advertising network that I have made any profit.


I have tried Facebook ads, Google Ads, iAd Workbench Ads, and direct advertising contracts with related sites. This is the first advertising network that I have made any profit.

What do you think? Have you had similar results? What’s you’re opinion on scaling App Store Search Ads?

How To Create A Custom Keyboard Using Storyboard Xcode

Featured image by Kate from flickr. Not Modified. Used under creative commons attribution 2.0 generic.

Our above video tutorial walks you through creating a custom keyboard for iOS 8+ devices using storyboards.


Download Final Project

Download the complete project below.

Download Now

Hello World Project – Getting Started With Xcode

Featured image by fhirART on flickr. Modified. Used under Creative Commons License Attribution Generic 2.0.

This tutorial is meant to get you up to speed with using Xcode and creating new projects. This is to avoid being repetitive in future tutorials.

Install Xcode

Download Xcode for free on the Mac App Store

Create Your Project

Now it’s time to create your first project. Let’s make a Hello World! application.
Open Xcode
Go to file->New->Project (See Image 1-1)

Image 1-1
Image 1-1

Now make sure Application is selected on the left menu, then select “Single View Application”. (See Image 1-2)

Image 1-2
Image 1-2

Click “Next”.
Enter your app name in the field next to “Product Name:”.
Make sure your Language is set to Objective-C.
Leave “Use Core Data” unchecked.

Image 1-3
Image 1-3

Click “Next”.

Your project is now created! You have a blank slate to work off of. To view your app so far, click on the triangle run button at the top left of the screen. (See Image 1-4).

Image 1-4
Image 1-4
The keyboard shortcut for running your project is ⌘R

Hello World

Now we’re going to add some text to your project to make it a little more interesting.
Click on the file called “Main.storyboard”.
The window on the bottom left of the screen is called your Object Library. Scroll through it until you find a Label. Drag the label onto your View Controller. (See Image 2-1)

Image 2-1
Image 2-1

Now if you run your project, you should see a label on the screen. But we have a problem! The image is off to the side of the screen. We should make it centered.

Click on the label you just added. Now go to Editor->Align->Horizontal Center in Container. (See Image 2-2).

Image 2-2
Image 2-2

Now click on the label again. This time, go to Editor->Align->Vertical Center in Container.

Run your project again. Your label should be centered horizontally and vertically.

To change the text of the label, just double click on it and start typing. Change the text to “Hello World!”.

Now run the project again. Your simulator should look like Image 2-3.

Image 2-3
Image 2-3

That sums up this simple tutorial. Good job, you’re well on your way to making the next Angry Birds!

Angry Birds Balloon

Above Image taken by Garrett Heath from Flickr. Image modified by cropping. Licensed under the Creative Commons Generic Attributions 2.0.

Download Final Project

Feel free to download the completed result of going through this tutorial.

Download Now

How To Use Grand Central Dispatch – Xcode

Featured image by Paolo Villanueva from flickr. Modified by minor cropping. Used under creative commons attribution 2.0 generic.



Grand Central Dispatch is a very useful tool while developing iOS apps. It allows you to perform tasks in the background without interrupting the user’s experience. Watch the video above or follow the written tutorial below to learn how to use Grand Central Dispatch.

If you are not familiar with Xcode, please read my tutorial on Getting Started With Xcode.

Not interested in following the tutorial? Go ahead and download the completed project at the end of the tutorial!

This tutorial is using Xcode 6.
If you are experienced with Xcode, feel free to jump down to Step 5 and see how to use Grand Central Dispatch.

Step 0)Setting Up

First off, open Xcode and create a new project (File->New->Project).
Select “Single View Application” and then click “Next”.  (See Image 0-1)
Name your project, and then make sure the “Language” is “Objective-C”.
Click “Next”.

Image 0-1
Image 0-1

Image 0-2
Image 0-2

Step 1) Getting Started

Open your Main.storyboard file.
Add a UIButton and a UISlider so that your storyboard looks similar to Image 1-1.

Image 1-1
Image 1-1
Note: The use of auto-layout is beyond this simple tutorial. For an in-depth overview, read the Beginning Auto Layout Tutorial by Ray Wenderlich.


Step 2) Definitions

Open ViewController.h
Add the following IBAction before the @end. (See Image 2-1)


Image 2-1
Image 2-1

Step 3) Connecting

Now let’s connect our action and properties.
Open up the Main.storyboard.
Click on your view controller that has the button and slider.
Click on the yellow button found at the top of your view controller. (Image 3-1)
Click on the arrow in the circle on the right side of the screen (Image 3-2)
Now click and hold onto the circle next to sleepButton and drag it onto the sleep button.
Now click and hold onto the circle next to slider and drag it onto the slider.

Now click and hold onto the circle next to sleepAction: and drag it onto the sleep button. Select “Touch Up Inside”

Image 3-1
Image 3-1

Image 3-2
Image 3-2

Step 4) Prepare

Open ViewController.m
Add the following to define some basic functions.


Step 5) Grand Central Dispatch

Now for the moment you’ve been waiting for! Let’s go to sleep in the background!
Add the following action (In ViewController.m)

Now let’s go into detail on what the above code is doing.
1: This simply sets the title of the button previously added to Sleeping.
2: This creates a BOOL, which can either be NO or YES. You can use this to change whether you want to sleep in the background or not.
3: This checks if isPerformingInBackground is YES
4: This creates our variable my_queue_t and defines it default queue provided by the system. We will do intense work on this queue.
5: This simply opens up our queue, allowing us to start doing work on it. Anything done inside these {} will not interrupt the user experience.
6: This is where the “heavy work” is done. In our case, it the program just “sleeps”, or pauses.
7: This opens another default queue, this time it’s the main queue. This is where you need to do all UI updates.
8: This simply calls the method doneSleeping, which then updates the button title to “Sleep”.
9: This is called only  if isPerformingInBackground is NO.

Step 6) Run

Run your project by clicking on the triangle button at the top left of Xcode. If all goes well, the simulator will launch and you will be able to see the results of your hard work.
If it doesn’t work, compare your code with the code provided above. Also, check that you successfully connected your button and slider.
If all else fails, download the example project below.

Download Final Project

Feel free to download the final project below.

Download Now