Swift
An Alternative To Singletons
While I like to use singletons in small to medium projects, I do understand their drawbacks. John makes some very good points on why singletons should be avoided. He also shows us how to make refactoring easier by taking advantage of defining our services as protocols. It's a great read. I often link to John's stuff and recommend you give his blog a follow.
Adding Type Safety To NSUserDefaults
Want to add some type safety to NSUserDefaults? Values are stored using a string key and as Jean-David points out, that could be a problem.
let typoString = "Coders are notorious fro typos."
print (typoString)
Marketing
How To Engage App Users All Year
Do you have a static app that doesn't interact with the user? I do. I actually have several of them. Why? Because I haven't taken the time to think through an engagement process. Even with a marketing background (that's my degree anyway), it has always seemed like something I want to do, but other priorities get in the way. This video (with detailed transcript and code) by Craig Clayton looks at how to keep a user engaged throughout the year.
Sponsored
Learn to design and code an iOS 11 app
An interactive book that teaches you to marry design and code using Sketch 47 and Xcode 9.
How to Quickly add Personalization to your Apps
Changing the content you show your users based on what they are experiencing can help your app delight your users and stand from your competitors. Personalization is challenging, typically taking data collection and analysis strategies, let alone re-engineering your mobile app. The Set SDK now makes personalization easy, allowing you to embed powerful learning directly into your app. Try Set's in-app personalization APIs and their personalized notifications services for free.
Tutorials
Building A Hardware App Doesn't Have To Be A Mystery
If I had a dime for every post about massive view controllers or how to do XYZ with table views, I could probably buy a new Apple TV. I jest, but when you curate a weekly newsletter, you see a lot of posts like that. I'm glad that Rémy emailed me his post because I don't often get to highlight the lesser talked about parts of development. If you don't have experience with building a hardware app like this, ask Rémy in the comments. He wants to help.
PS: Reaching out to me is the only way to guarantee I will consider your post for the newsletter or [extra newsletter that goes out to Patreon supporters](http://bit.ly/2cpkOB4. Don't waste your opportunity to promote your work! Promoting yourself is hard for many devs, but if you are writing good iOS stuff, it deserves to be recognized and read. 😎
Adding Drag & Drop To Your Apps
My experience with the new iOS Drag & Drop feature has been limited to accidentally picking up images on my iPad and wondering for a second what the heck is wrong. If you're like me, let's fix that problem with a dive into how Drag & Drop works.
Third-Party Libraries
Animate Any View In Just One Line
Here's a nice library that allows animation with one line of code for just about any view, including table and collection views. Check it out and see what kind of customizations available.
ViewAnimator is a library for building complex iOS UIView animations in an easy way
Code
Adopting An Architecture That Works For Your Business
Luis does a great job showing why and how his team adopted a state container based app architecture. In his words...
The goal of this blog post is to show the architecture that we have been developing during the last months on the iOS team at Jobandtalent. It is an architecture that leverages Swift, value types, generics, sum types and some React Native experiences. It works for us and it might work for you as well.
iOS Architecture: A State Container based approach by Luis Recuenco
Career
The Indie Developer Who Won An Apple Design Award
Great interview with the creator of Streaks, Quentin Zervaas. They dive into how Streaks came about, what indie life looks like for Quentin, and how Streaks ended up winning an Apple Design Award. Great stuff for any developer to learn from.
Creator of Streaks and Full-Time Indie iOS Dev: A Top Dev Interview With Quentin Zervaas with Adam Rush & Quentin Zervaas
Welcome! This was one of those weeks that was difficult to find links. I only had 12 links to consider when I sit down. That's not ideal. Luckily, they were very good and I feel some of the best links in a while are right here for you. Also, a couple of readers submitted their own posts. They were excellent and I was happy to include them both. Enjoy this issue!
@cdbeshore