News
You can't record your users without letting them know
This news broke right after last weeks issue and I thought it was important to address this week. The information you get from recording the screen or things like heat maps on web pages is really helpful in tracking down bugs and seeing what users are doing in your app. Maybe users aren't interacting with an app the way you thought they were. You can watch exactly what they're doing (that's the kinda creepy part), and streamline your UX or discover just how to reproduce a bug.
However, this information comes at the price of the user's privacy. I think Apple is being fair that you have to disclose this kind of thing. The problem for developers is when you disclose something like that, you risk the chance of turning off a large chunk of users. This is especially troubling for smaller developers. I personally would recommend it's not worth it, but if you feel the need to, make sure you are entirely up front.
Apple is telling developers to disclose secret screen recordings or face ‘immediate action’ by Nick Statt
Ready for your apps to get smaller?
With Swift 5, Swift's ABI has become stable. In this post, Instabug talks about what that means to developers. You can also check out the original post from the Swift team here.
Up until Swift 5, the lack of ABI stability meant that to be able to use Swift in your app it was necessary to ship the Swift runtime libraries with the app bundle. This added around 5 MB to the size of your app.
Swift 5 Module Stability Workaround for Binary Frameworks by Instabug
WWDC
Are these the WWDC dates for 2019?
If you're looking for a sneak peek at WWDC dates, MacRumors has done some detective work and uncovered pretty rock solid evidence that WWDC will be June 3-7. Of course, you can't be 100% guaranteed these are the dates but maybe you can make some tentative plans.
WWDC 2019 Dates Confirmed: June 3-7 in San Jose by Joe Rossignol
Sponsored
Don’t want to manage Mac infrastructure in-house? Try a MacStadium private cloud.
Whether you want to get started with Jenkins on a single Mac mini or deploy a hosted Mac Pro private cloud running VMware for large-scale CI/CD, MacStadium has a solution for your iOS app development and testing needs. MacStadium engineers will work with your team to develop a scalable solution on dedicated Apple Mac hardware connected to lightning-fast flash storage to create an incredibly reliable and efficient iOS build infrastructure platform for your team. Try a Mac private cloud free for 14 days.
Machine learning isn't hard, it's new. Skafos.ai makes machine learning accessible for iOS Developers.
Skafos is the tool for iOS developers to deploy machine learning to their app. Get started with a pre-trained model, drop in the SDK and then updates are pushed to your app in the background. Sign up for the free beta today.
Swift
Raw text goodies in Swift 5
Swift 5 has some new features to deal with raw text and Keith explores them in this post. Check it out because everyone has to deal with text at some point. It's becoming less of a pain with each Swift release.
Swift 5, shipping with Xcode 10.2, introduces a new syntax to make it easier to work with raw text.
Let's reflect on this
When is reflection actually useful? As John points out, being able to iterate over properties of a stored type is fun, but how useful is it? John takes that step and shows us how to apply it to a real-world scenario of persisting login information for a user.
Reflection is a common programming language feature that enables us to inspect, and work with, the members of a type — dynamically, at runtime.
Tutorials
All you need to know about local notifications
Check out this tutorial on local notifications in Swift. You'll learn how to trigger a notification based on the calendar or location and how to add custom actions to the notification. This tutorial goes beyond just displaying a notification!
How's your flow?
Flow Controllers are one way to handle transitions between view controllers that you may not have used before. You'll learn about Flow Interactors and how you can set up your modular app to transition from scene to scene easily.
A Flow Controller’s job is to control the sequencing of transitions between your feature’s view controllers
Interactive transitions in a modular iOS architecture by Mark Jarecki
Beginners
The basics of passing data in an iOS app
Great post on the basics of passing variables and communication between classes in an app. For those of us that don't code full time or are just getting started, it's easy to forget exactly how to do it right. I find myself referring to posts like this quite a bit. Bookmark it!
Passing Data in iOS: Delegates, Notifications, and Closures by Gabriel Theodoropoulos
Welcome! Some Swift news and screen recording privacy issues to share with you this week. Also, there's pretty solid evidence of WWDC dates. Hope you're having a good week. On to the links!
@cdbeshore | Support on Patreon