Very comprehensive iPhone 7 review from real, daily user point of view.

After nearly two years spent using a 5.5-inch iPhone, I’m accustomed to not having a compact phone anymore. The iPhone 6 Plus and 6s Plus have reshaped my iPhone experience for a simple reason: they give me more of the most important device in my life.

Thus, I was a little skeptical – even surprised – when Apple gave me a gold 256 GB iPhone 7 review unit (with a leather case) two weeks ago. I didn’t think I would be able to enjoy a smaller iPhone, but, despite my initial resistance, I set up a fresh install of iOS 10 and used the iPhone 7 exclusively for two weeks.

I’m glad I did. While I’m still pining for a 7 Plus1, using the iPhone 7 showed me that there’s more to this year’s iPhones than the lack of a headphone jack.

In many ways, the iPhone 7 feels like a portable computer from the future – only in a tangible, practical way that is here with us today.

Read More »


With iOS 10, tvOS 10, and watchOS 3, Apple is introducing a new framework called the UserNotifications framework. This brand new set of APIs provides a unified, object-oriented way of working with both local and remote notifications on these platforms. This is particularly useful as, compared to the existing APIs, local and remote notifications are now handled very similarly, and accessing notification content is no longer done just through dictionaries.

In this tutorial, I’ll go through the basics of this new framework and show how you can easily take advantage of it to support notifications for your applications.

This tutorial requires that you are running Xcode 8 with the latest iOS, tvOS, and watchOS SDKs.

Read More »


You might think the UI for a PDF viewer/editor would be trivial, however it’s anything but. At PSPDFKit we have a ton of simple and complex views and view controllers, running either modally or embedded, with several knobs and switches to configures things. We’d be in major trouble if we relied solely on manual testing.

Read More »


So… The design team just asked you to make an animation sexier and you went pale. What did they mean? The situation then got more awkward as they started talking about key frames and animation curves.

Motion graphics applications offers a lot of flexibility and to a designer there may sometimes be an expectation that the same flexibility is found in Swift / Cocoa Touch. Of course we all know that Swift is awesome and everything is possible but let’s stick to the basics.

Read More »


CoreAnimation is a very powerful framework. By using CABasicAnimation, CAKeyFrameAnimation or CAAnimationGroup we can create amazing user experience and there are basically no limits. It is up to our imagination what exactly will be presented on a screen and how it will behave. It turns out that CoreAnimation can be also used with other frameworks such as CoreGraphics or CoreText, which gives a developer the ability to create amazing animations. Using CoreText with CoreAnimation we can animate every text with a chosen font type and font size. In this article I am going to present a way how to do just that.

Read More »


I’m still getting used to Associated Types in Swift. Even though they’ve been around for a while, I first starting to understand them from this talk by @alexisgallagher.

So I was happy yesterday when I used them to sort of solve a common problem in iOS development: View Controller Data Injection with Storyboards and Segues in Swift.

Read More »