Liberation

It’s amazing how liberating it is to be free of Wordpress and a traditional hosting provider. I actually feel like writing again.

“Those who do not move, do not notice their chains.”

I’ve moved this blog from WordPress to Octopress and I am now hosting through Github Pages. I’ve had more fun than I care to admit bending Octopress to my will.

There will be fresh content here soon. Watch this space…

A Collection of interesting iOS Open Source projects

I just finished a large project so I decided to take a moment to sort through the multitude of open source iOS projects (new and old) and pick out a couple of the most interesting and useful. I have collated my results below; a sort of whose who of iOS open source projects. I have tried hard to keep the descriptions brief so I don’t bore you. There are many hidden gems in each project that will save you hours of time so have good look at each.

CocoaPods

First off, if you haven’t already checked out CocoaPods, do it now! It is an awesome dependency manager for your iOS and Mac projects, which has saved me countless hours of pain and headaches.

CocoaPods creates a workspace for your Xcode project and adds a Pods project to that workspace. The Pods project encapsulates all of your third party libraries and all related compilation settings. It will automagically setup each library within your Pods project, so you don’t have to worry about -fno-objc-arc compiler flags for non-ARC source or adding SystemConfiguration.framework for some project you didn’t realise needed it, basically the kind of obvious misstep that might result in a wasted afternoon googling. Each time you build, it will compile the Pods project into an easily digestible static library for your Xcode project to link against and make all the necessary header files available to you.

Also, check out the CocoaPods Podspec repo; it hosts a stellar collection of iOS/Mac open source projects. Coincidentally, all of the projects listed below are currently available through the CocoaPods repository.

How to detect non-jailbroken pirates

Please Note: The following is an approach I have put together to help other developers stop this kind of highly immoral piracy. I have not tested this myself as I am not currently maintaining any paid apps. Please report back with your results if you do try this.

Background

This section is rather long-winded, so if you’re impatient and/or an iOS ninja/expert, skip down to the “Rough Solution” section.

Most iOS developers know that jailbroken iPhone/iPad users can quite easily download and install cracked versions of their apps. This egregious violation of copyright has understandably angered devs which have poured their hearts and souls (not to mention countless hours and Benjamins) into these apps. Through this anger, methods have been developed to detect and track these illegitimate users.

But what some developers don’t realise is, there is another method for installing cracked apps on your iPhone without jailbreaking. It is not quite as easy as the jailbroken route, but I found a couple of programs which simplify the process. Google turned up a couple of results, Crappstore (a Xcode project), iReSign (automated tool) and IPA God. Part of the complexity lies in the fact that you need access to a iOS developer account as the method requires a valid Development provisioning profile. This should be a impassable barrier for most users, but there are services selling provisioning profiles to users which include their UDIDs.