In-App web browser control for iOS apps

In today’s post I would like to share with you a little piece of code. If you need to integrate in-app web browser support into your iPhone apps, this handy module will save you some time.

There are already some solutions to this problem out there but non of them offers the features I needed. First, the solution I present in this article uses a work-around for the well-known UIWebView bug that causes erratic behavior when combining “zooming operations” and “landscape orientation”. Moreover, the solution presented is highly customizable.

I have called it TSMiniWebBrowser. You can download the source code at the end of the article.

Continue reading

Posted in Home, idevblogaday, Tutorials | Tagged , , , , , , , , , , , | 17 Comments

Game Theory Applied: the puzzle of designing a puzzle game

Today’s post is going to be the fourth in the series “Game Theory Applied”. You have the previous ones here:

Today I would like to talk about the tricky concepts around puzzles and puzzle-based games like New Sokoban. Puzzles are often considered to not be games at all. This means that designing a video-game entirely based on puzzles implies some issues that need to be addressed to minimize the inherent problems that puzzles have and maximize their benefits. We will see it applied to New Sokoban, a puzzle-solving game.

Continue reading

Posted in Game Theory, Games, Home, idevblogaday | Tagged , , , , , , , , , , | Leave a comment

A Twitter reusable class. iOS 5.0 ready with iOS 4.x retrocompatibility

Today I would like to share with you a little but useful class to post highscores  to Twitter on your games. This tutorial is the perfect companion for the Facebook one I wrote some weeks ago. It basically adds a new abstraction layer to the MGTwitterEngine from Matt Gemmel and the OAuth Twitter Engine from Ben Gottlieb providing the needed UI to send tweets to the user timeline.

The tutorial also shows how to figure out the iOS version and use the Apple’s Twitter API for iOS 5 if available.

You can download the entire project at the end of the article.

Continue reading

Posted in Home, idevblogaday, Tutorials | Tagged , , , , , , , , , , | 3 Comments

Guest post: Creating Opuss

by Jeff Hodnett (@jeffhodnett)

Opuss is a new service that i’ve been working on with Adam Neilson(@adamneilson) and Chris Knight(@chrisknight2) for the past 2 or so months. It’s a new and exciting way to read, write and share all the best words in the World.

Continue reading

Posted in Guest posts, Home, idevblogaday | Tagged , , , , , | 4 Comments

The pressure of money

In today’s post I would like to share with you some thoughts about surviving as an indie iOS developer. I started my iOS journey in August 2009 with the development of paintingWalls. However, I went full-time indie one year later, on August 2010. So currently, I’m living from the incomings produced by the apps you can see in the Projects page of this blog.


Continue reading

Posted in General, Home, idevblogaday | Tagged , , , , , , , | 9 Comments

A reusable localization manager class for iOS

Today I would like to share with you a very simple and specific little class that may be very helpful if you encounter the same situation than me. Imagine that you need to manage the language of your app or game independently of the system language settings. It is kind a weird requirement but it is indeed a mandatory requirement for the iOS project I’m currently working on.

So, today I will share with you a little handy class that allows you to change the language of your app’s interface within the app and without the need of restarting. Moreover, the class uses the same dictionary system and files than the localization support offered by Apple. Continue reading

Posted in Home, idevblogaday, Tutorials | Tagged , , , , , , , , | 5 Comments

An update management handy class

Today I would like to share with you a little piece of code that I find very handy. A class that helps you managing “updates”. I use it in my apps that work with cached data. You could encounter the situation where you need to develop an app that queries a web service to obtain the data to be shown on the device.

However, sometimes the information you need to access doesn’t change so often and it is not necessary to bother the user with a loading message only to end up showing the same information than 2 minutes before. If being up to date accurately is not critical for your app, the code I’m going to show may help you.


Continue reading

Posted in Home, idevblogaday, Tutorials | Tagged , , , , , , | 5 Comments