Setting Fetch Free

Setting Fetch Free

Fetch was the first iOS project I ever made and has been the most successful both on iPhone and on Apple TV. Today, I'm dropping the £2.99 price tag and am pleased to say Fetch is now free for both iOS and tvOS. If you've not used Fetch before, then now is the time to give it a go. The new price should be live on the App Store now! Moving Forward I made Fetch because I wanted a good put.io client for my iPhone and iPad. When the Apple TV came out I knew it was perfect…

Fetch for  tv

Fetch for  tv

Since building Fetch, the thing I wanted most was improved AirPlay support. Apple did even better than that though an enabled developers to natively build apps using TVML or UIKit for the new Apple TV. From iOS → tvOS Fetch was a pre-existing app for both iPhone and iPad so moving things like the pre-existing PutioKit that connected to and mapped the Put.io API was easy. The trickiest part of porting to the Apple TV was figuring out what the interface was going to be. Interacting with an iPhone is a solitary, intimate experience. Small UI elements that can't be…

Content blockers are easy. Content blockers are hard.

Content blockers are easy. Content blockers are hard.

So today, Mr. Crumble — Cocoon's latest app — is out. It's a content blocker for iOS 9 but unlike other content blockers it's not bothered about ads but instead it targets those annoying EU cookie banners. Building a content blocker is both easy and hard at the same time. Wait what? What I mean by that is building the the actual app couldn't be easier. It's basically a shell with a background task to fetch updates from a database every few hours. Now that's where the hard part is… Assembling a database. Assembling a database Apple allows content blockers two options:…

Make UILabel Copyable in Swift

I've been working on an iOS app that called for some text to be copyable but not editable. I wanted to able to long-press and have the contextual menu show the "Copy" action. I'd initially thought about using a UITextField and disabling the edit functionality to achieve this. However that caused some issues with keyboards popping up even when editing was disabled. It struck me as strange that a UILabel isn't copyable. At least by default, as it turns out is actually fairly easy to make it so we can copy and paste out label value. Subclassing UILabel…

Easy Form Validation in Swift

I come from a very web-centric background and have used frameworks like Laravel in the past extensively. One of the things I really loved about that framework in particular was the way in which it handled validation. If you don't know, Laravel just takes an associative array (think: dictionary) of field names and a set of rules. I looked for a similar class or package to do the same in Swift but couldn't find anything so I wrote something to do it. SRFormValidator If you can't be fucked to read the rest of the post and want to get straight…