S Link
How to Update Swift Apps Instantly (and Skip the App Store Review)
Rollout's SDK let's you patch live Swift apps, instantly. Stop waiting for App Store approval just to to fix your app's unhandled exception or logic error. Adding Rollout's SDK to your app takes 5 minutes and is already installed on over 47 million devices. Fix things faster and get more 5 star reviews. NatashaTheRobot readers get 20% off with code robot20 π
iOS has come a long way, so has finding a job.
You're on the cutting edge of mobile, why job hunt like it's '90s? Try Hired today to get multiple job offers and free personalized support in planning your next move.
Swift Around the Web
Emptiness
A bit crazy, but what if arrays couldn't be empy?!!! Great thinking by @khanlou on the weird tri-state of arrays and other Swift types that could now be both optional and empty. I like the idea of a self-imposed rule to not have optional arrays or dictionaries if possible:
"The easiest way to get around this is to remember to never store optional arrays as properties. Iβm pretty strict about this rule, making sure I donβt mix different types of emptiness. I also apply it other other types that can be βemptyβ as well β dictionaries, strings, booleans, sets, and sometimes numbers. Having to check two forms of emptiness is something I never want to do."
Coding
iOS True Confessions
An honest post about imposter syndrome as an iOS developer. There might be "basic" things you haven't worked with before, but I think every iOS developer has their own embarrassing list. The important thing is to keep an open mind to learning these when they come up and helping others with things you're good at, but they might not have gotten to.
Swift Holy War: Comments are not an Anti-pattern
Not sure this is truly a holy war, but I agree with both sides. We should definitely be writing code that is expressive without the needs for comments. And let's be honest - those TODOs will never get done. But sometimes comments are necessary - like when there are weird gotcha's in the API or business logic that might make the code slightly weird as a result.
Apple News
Xcode 8.2 beta
"Xcode 8.2 is the last release that will support Swift 2.3. Please migrate your projects to Swift 2.3 code to Swift 3 syntax by opening the project and choosing Edit > Convert > To Current Swift Syntax" π±ππ±ππ±
If only it was as easy as Edit > Convert > To Current Swift Syntax...
Design
How to create effective push notifications
In iOS 10, notifications are no longer just a feature - it's your app! Prepare (and in fact design) your app to be usable only through notifications. Great tips here. I didn't know notifications are most effective between 6 and 8pm!
Other Cool Stuff
Someone made earrings to catch Apple's AirPods when they inevitably fall out
The future of fashion is here: ππΈπ!
In Case You Missed It
The Power of Meeting People
Great post from try! Swift NYC attendee @volbap on the importance of attending conferences and meetup. Love this!
"Well, that's mostly what I've learned: Going to conferences and meetups is not just about learning technical stuff. You also meet new people, you make new connections, you get to know different mindsets, and learn different ways of thinking. You also have fun. You also end up with new ideas. You also change. And by changing you grow, in your personality and in becoming a technical expert. And a big list of etceteras, which can all fit in this fact: You learn about life."
Videos
Mastering TextKit
Amazing deep-dive into TextKit by @k_katsumi. Thanks for explaining the hard and tricky font concepts for developers, especially how to display math π€
Swift Eye for the Stringly Typed API
Great overview of hour NSUserDefaults has changed in Swift 3.0 (hint: it is now called UserDefaults) and how to take advantage of Swift's amazing features such as namespacing and protocols to avoid using Strings. Blog post here.
Swift Code
- needless - A utility to find needless words in Swift function names.
- Apodimark - Fast, flexible markdown parser written in Swift
- GRDB.swift - A Swift application toolkit for SQLite databases, with WAL mode support. Blog post here.
- AlexaSkillsKit - Swift library to develop custom Alexa Skills
- Swish - π·Build Swift Projects on a Remote Machine within Xcode.
- TimelineTableViewCell - Simple timeline view implemented by UITableViewCell written in Swift 3.0
Swift Thoughts
The big bombshell from last week is that Xcode 8.2 is the last release that will support Swift 2.3. I thought we had a whole year before support was dropped. Oh well... If you haven't upgraded to Swift 3.0 already, here are some great tips from @cocoaphony.