Sponsored Link
Buddybuild: Finally! Continuous Integration & deployment made easy!
Buddybuild is a mobile continuous integration and deployment platform that takes minutes to setup. Our SDK makes it super easy to get feedback and crash reports from users in realtime. Stop cobbling together and maintaining disparate build, deployment, crash reporting and feedback systems. Focus on what you do best: creating apps people love!
News
ResearchKit and CareKit
Along with the new hardware announcements at the event this week, we saw the release of iOS 9.3, Xcode 7.3 and Swift 2.2. The part of the event that I don't think people were expecting though was the announcement of CareKit, and it was the first thing they talked about. ResearchKit has been a great success and while CareKit isn't yet available it's going to be run in the same way, as an open source project which ships with your app. This kind of initiative coming from Apple is one of the things that makes iOS so special.
Parse Server Goes Realtime With Live Queries
When Parse announced its shutdown, I think the view was that Parse Server was a nice move, but that it was more of a "keep things running" solution than something that would see active development. Apparently not! Live queries are a significant new feature and show that development is definitely not dead, as long as you're happy to self host. Good news!
Tools
On the Rumoured Xcode for iPad
Fantastic article by Jason Brennan on why Xcode for iPad (if it exists) might not be what you're expecting. Is it the right move to simply make a version of Xcode that works well on an iPad? Or should Apple be rethinking how we develop on such a different device? No matter what is in the works, I think they are likely to dip their toes into it with a Playground style first. Then launch something which more closely meets the expectations of a fully fledged development environment later.
Dynamic Library Loading Performance in iOS 9.3
This repository originally started life as a sample project showing how slow dynamic libraries were to load. Seems like iOS 9.3 fixes the issue and now it's a joyous thank you message to the team for fixing it. 🎉
Crashlytics Velocity Alerts
Not all crashes are created equal. There's a huge difference between something that crashes your app on one device for one user, and something that's causing pain to half of your customers. If you're running an app with a large user base, this is going to really help with prioritisation.
Code
Outlets: Strong! Or Weak?
Seems like this was the week to discuss optionals and outlet properties in Swift. Scott Berrevoets kicks us off with an analysis of the default outlet property as used by Apple and then recommends some changes. Curtis Herbert has similar views in his piece on the same subject. Finally, David Keegan has a great article not specifically about outlets, but about optionals in general.
Creating Swift Frameworks for iOS, watchOS, and tvOS
Basem Emara with a long and comprehensive article on creating frameworks which target iOS, watchOS and tvOS. The end result is a single framework project for all the platforms, with test targets, and distribution via CocoaPods or Carthage. This really should be easier though!
Surprises with Swift Extensions
As you'd expect from any post by Peter Steinberger, this quickly gets into the weeds of a tricky debugging problem. However the lesson which comes out of it is simple. Prefix your category methods, even in Swift.
Design
The Veil of Ignorance
Wow, what a great article by Adam Morse on accessibility in design. Everyone should read this.
Business and Marketing
10 Styles of App Store Screenshots
Dan Counsell looks at the various different styles of App Store screenshots. I'm still a fan of a plain, unadorned traditional screenshot but I must admit the Foldify "device spanning two screenshots" idea is very eye catching.
Videos
Contributing to Open Source Swift
Jesse Squires with a great talk from the recent try! Swift conference. He covers the daunting task of how you'd actually get started, and what skills you'll need to contribute to the project. He also wrote up his experience of speaking with a live translator which is an interesting bit of background to the talk! 👍
Books
Advanced Swift
Chris Eidhof and Airspeed Velocity with a new Swift book (although it's been around for a while in beta). If you can recite the entirety of Apple's Swift book from memory, it's time to move on. 😀
Sponsored Jobs
Mobile Developer iOS at Runtastic GmbH, in Linz or Vienna (Austria)
Help us make people all over the world healthier!
iOS Developer @ Auto Trader (Manchester, UK)
Help build apps that connect millions with their dream car.
Comment
So, the meltdown of Node dependencies this week caused plenty of discussion on the pros and cons (OK, mostly the cons) of dependencies and dependency managers. Of course, this discussion was not just about Node, but all languages including Objective-C and Swift.
I've talked several times about this subject here and I definitely fall on the side of dependency managers being a good thing, as long as you choose your dependencies carefully. But there's an important point to be made, regardless of what dependency manager, or what dependencies you choose. Check them in to your source control. If you can't build your iOS or OS X project without fetching source from somewhere that's not under your control, you're at risk of 😭 one day. It's fine to use dependencies but in my opinion, you should always be able to build your whole app purely from the content in your repositories.
Dave Verwer