Sponsored Link
Black Friday Sale at raywenderlich.com!
From November 24-27, get any book from the raywenderlich.com lineup for 50% off. Or get their entire collection of 12 best-selling books for just $199! As an iOS developer, there's simply no better investment you can make in yourself. But don't miss out β this time-limited deal ends at midnight, November 27.
News
Kotlin/Objective-C Interoperability
The latest release of Kotlin adds interop with Objective-C, meaning that it can now be used to create actual iOS and macOS applications! I don't see Kotlin becoming popular among iOS developers, but I will be keeping a close eye on any projects I see which are created with it (and I'll probably make a simple app myself just to try it!) π
Black Friday Deals for Mac Software
You may not be celebrating Thanksgiving, but Black Friday is something we can all celebrate regardless of where we live! π€ Marius Landwehr has put together this list with some very tempting offers, so check it out to see if any development software or books from your wish list are on sale.
Appleβs HomePod delayed until next year
Considering how little we saw about the HomePod at WWDC and in the following months, I'm not surprised to see this delay. However, from a developer perspective, this doesn't have a huge impact as the development potential of the platform is still quite limited. I'm glad Apple is willing to delay the release of products not ready for the mass market βΒ I wish they were more willing to do this with software releases as well.
Tools
Swizzling in iOS 11 with UIDebuggingInformationOverlay
UIDebuggingInformationOverlay is a hidden tool in iOS used by Apple internally to debug native apps. For some reason, Apple chose to make this tool hidden in iOS 11 so that it couldn't be used by third-party developers. Luckily, Derek Selander worked out a way to trick the system into giving developers access anyway (until Apple inevitably breaks his approach in a future update π).
stylesync
If designers are selecting precise fonts and colors in Sketch, why should developers then have to manually copy all these over? This command line tool auto-generates Swift code to transfer these properties over to your project automatically, eliminating friction and preventing mistakes while copying. By extending UIColor
and a custom TextStyle
struct with constants, stylesync makes it really simple to implement and tweak designs in your app.
Profiling unit tests in Instruments
It's great finding all of Xcode's secret tools that make development easier. Jordan Rose found this little gem. π
Code
View-State Driven Applications
This post by Matt Gallagher completely blew my mind. π€― Rather than restricting the idea of the Model to strictly the persistent data in the app, this post explores what a Model would look like if it contained all mutable state. This new definition allows for some really compelling and fascinating benefits that are impossible using the traditional definition of Model. I highly recommend downloading the sample project for a test-run.
Chronology
Former Apple software engineer and developer evangelist Dave Delong is taking on the challenge of creating a Swifty date library on top of Foundation. Other third-party date libraries already exist, but the goals (and non-goals) of this project make it look really promising.
Animate UIWindowβs rootViewController transitions
Changing root view controllers of a window is easy β animating the transition, not so straightforward. Daniele Margutti presents his approach to this problem using Core Animation, CATransition
, and an extension of UIWindow
. He put the code for his extension on Github and packaged it into a CocoaPod as well!
Why Swift Enums with Associated Values Cannot Have a Raw Value
Mischa Hildebrand with a fascinating look into the behavior of raw values and associated types in Swift Enums. I definitely learned a couple new things about how Enums work under the covers and about how they can be used in practice.
Videos
Videos from iOS Conf SG 2017
Videos from the recent iOS Conf SG in Singapore. There's a nice selection of topics here.
Sponsored Jobs
Mobile Engineer, Expensify, San Francisco,CA and/or Portland, OR.
We're looking for mobile engineers who are passionate about the product they're building.
iOS Developer @ AppLovin in Palo Alto, CA
Be part of a leading mobile marketing platform that helps the world's largest brands reach over two billion consumers globally with relevant content.
And finally...
Most Disliked Programming Languages?
I was genuinely surprised to see Objective-C so high in these results π€¨
Comment
I hope y'all had a great Thanksgiving (or a great Thursday, for those not celebrating) ππ¦ I am thankful for the constant outpouring of iOS blog posts and projects created by the community, as well as all of you who read iOS Dev Weekly each week β without either one, this newsletter would not be possible. To all contributors and to all our readers, thank you!
Evan Dekhayser