Quick Tip: Auto-include Open-Source Acknowledgements with CocoaPods

Open-source software is so prolific that it's likely nothing written today doesn't include some in one form or another. Keeping track of the licenses and acknowledgements that need to be included when working with multiple dependencies can be tricky. CocoaPods does a great job of managing the dependencies themselves but as it turns out it can also help us including those acknowledgments in our app. Settings Bundle As you probably already know a Settings Bundle is the way we add settings to iOS's global Settings app. It's essentially just a plist or collection of plists and handily CocoaPods generates a…

Hacking macOS Sierra's PIP

Hacking macOS Sierra's PIP

One of the headline features in macOS Sierra is Picture in Picture. Unfortunately Apple decided to restrict this to Safari and iTunes which means the majority of users will never get to use it. Digging into the Sierra GM PrivateFrameworks directory revealed a very helpfully named framework called PIP.framework. As with any framework it can be included in a project and used like any other. However Apple remove the headers from their private frameworks which stops us from using them freely. I ran the framework through Steve Nygard's excellent class-dump spitting out a number of helpful header files in…

QBlocker

QBlocker

A few months ago I switched from Chrome to Safari as my main browser. I enjoy using Safari to Chrome in almost every way but there was one feature of Chrome that I missed. There's an option you can enable in Chrome that will force you to hold CMD + Q to quite the app. As some who uses CMD + W to quit windows or tabs frequently, I often found myself accidentally quitting Safari. Solutions There are of course a number of solutions to the problem. Stop being such a sausage-fingered idiot and learn the difference between the Q and W…

Fetch 2

Fetch 2

Last year I started working on my first iOS app as a way to learn Swift. What I built turned out to be a fairly popular client for Put.io. With the release of the Apple TV, porting the app was a no brainer and with it came additional features — chiefly the matching of posters and metadata. After a couple of updates my attention moved back to the iPhone and iPad in November, and for the last 5 months I've been working on a huge update… What's new? There's a lot of new stuff in Fetch 2 — from minor tweaks…

Decoding Dreamweaver STE files with Swift

Decoding Dreamweaver STE files with Swift

We have a few clients that use Dreamweaver as their editor/FTP client of choice. This unfortunately doesn't fit in with our toolchain and as we often receive STE files it's a manual process to extract the data from the file. Since we use the amazing Transmit from Panic I wondered if there was a way we could parse the file from Dreamweaver and open a new connection in Transmit. Decoding The Password First of all I wanted to see if it was actually possible to decode the password before I bothered building anything. Thankfully, the heavy lifting of figuring…