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 »


This is “amazing” series of open source projects.

Swift is a general-purpose programming language developed by Apple Inc. for iOS, OS X, watchOS and tvOS. Currently it is the most popular open source programming language on Github.

Read More »


Core Data has a popular opinion of being hard to use, especially in concurrent environments. Why is that the case? First, it truly is complex because it solves a hard problem. Second, until WWDC16 Apple haven’t really said how to best set up the Core Data stack. There were many options, each with its own issues, that we had to choose from.That’s why I’m super happy that things get clearer in iOS 10 with the introduction of NSPersistentContainer.

Read More »


It’s June 25th 2015, Dan’s in his Speedos, and we’re about to try out what is probably the world’s first swimming app on an Apple Watch. We’re at the London Aquatics Centre, host of the 2012 Olympics. It’s the first time we’ve tried it in a 50m pool and we’d be lying if we said we weren’t a little nervous.What is this spaceship?In this article we’re going to show you a video of what happened next, talk a little bit about the timeline of how we got to this point and then our experiences developing a swimming app on the Apple Watch. We’ll also give a bit of background on how we created our swimming algorithm and finish with our hopes for the next Apple Watch hardware and the Apple ecosystem.

Read More »


With Apple CloudKit, you can focus on your client-side app development and let iCloud eliminate the need to write server-side application logic.

This is a library to simplify the access to Apple’s CloudKit data and notifications.

EVCloudKitDao comes with example application:

The AppMessage demo is a complete functional messaging app based on CloudKit:

  • News items are fully functional. Just try adding, deleting and updating newsitems from the CloudKit dashboard.
  • The Contacts list based on your phone contacts that also have installed the app.
  • Chat with someone using text messages, pictures and sending your location
  • It also has TestViewController.swift for an overview of the functionality

Read More »


Anyone with an interest in Apple Watch development who hasn’t already begun to play with WatchKit will enjoy Clifton’s talk, which is just under 39 minutes long. Watch and learn! If you’d like the source code Clifton used for the demonstration, it’s available on Github.

Read More »