Downgrading iOS 9.3.5 to iOS 6

Downgrading iOS 9.3.5 to iOS 6

Contents Introduction Jailbreak with Phoenix OpenSSH Downgrade to iOS 6 Introduction I may be one of the only people left still rocking an iPad 2. The only purpose it has in my life is to consume video through YouTube, Netflix, and Put.io and for that it mostly works fine but at times it is painfully slow on the latest version of iOS it will run — 9.3.5. It wasn't always slow though. I remember when I first got it and was amazed at how fast it was. Around iOS 7 when transparency, blurring, and all that crud was…

Removing the White Bars in Safari on iPhone X

Removing the White Bars in Safari on iPhone X

The new iPhone X features a beautiful edge-to-edge display. Well, almost. There is the small issue of a notch at the top of the browser which doesn't cause an issue when viewing websites in portrait but by default does cause some issues in landscape. To accommodate the notch iOS 11 constrains websites within a "safe area" on the screen. On most websites this results in letterboxing on the left and the right. Thankfully there are two simple fixes that can be made to solve this letterboxing. background-color If your website uses a single solid colour for its background…

Mixing TVML and UIKit without a server

Mixing TVML and UIKit without a server

When building for tvOS Apple gave us two approaches. A fully native app could be built using UIKit, storyboards and everything developers have been familiar with when building apps for iOS. However, Apple also opened up their TVML and TVJS platform that has been used on Apple TV 2 and 3 by the likes of Netflix, Hulu and Now TV. This approach allows for apps to be created using a simple XML markup and JavaScript. That sounds great but when using TVML you're required to use a separate server to handle the logic of populating data and navigating between views.…

Deeplinking  (how to force out of Facebook's in-app browser and fallback on desktop)

Deeplinking (how to force out of Facebook's in-app browser and fallback on desktop)

So it turns out these in-app web views can't die quick enough (hello, SafariViewController!). Marty tweeted he was trying to get YouTube videos to open in the native iOS app rather than on the website but was finding it impossible. By default, the iOS app adds a URL scheme to open youtube.com links. When someone texts you a link to a video, Safari will redirect you to the app. However, Facebook's in-app browser (and Twitter's and I expect others) doesn't honour this and linking to the youtube:// URL scheme doesn't work either. Workaround With JavaScript It turns out, if…

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…