Great reminder from Nick Heer that it is our responsibility as developers to ensure that we correctly apply the correct device restrictions to our apps so that we don’t get people downloading our apps only to be disappointed when they don’t work. I also agree that Apple should be checking for this as part of App Review!
I’m always glad to hear about improvements in Xcode to Swift debugging. Many crashes that were once difficult to track down are now pointed out directly in the editor. Incremental updates like this are making Swift development in Xcode so much easier.
As we’ve discussed before, the lack of type-safety in NSUserDefaults
can make it cumbersome to use. We’ve already seen different approaches to it, but I think this solution by Jean-David Gadina takes the cake. 🎂 Using mirroring and key-value observing in Swift, he wraps up NSUserDefaults
in a strongly-typed Preferences class – and he wrote an Objective-C version as well!
If you ever find UIKit controls annoying to use thanks to their extensive uses of target-action or delegation, this is the framework for you. Vinnie Hesener makes it possible to use closures to deal with so many of these situations, including UIControl
state changes, adding gesture recognizers, customizing text field behavior, and populating collection views.
Debugging is a skill, and like most skills it can only be developed through experience and a bit of luck. Brent Simmons explains how he fixed an error that has plagued Overcast since it first launched by looking at the stack trace and his understanding of the iOS SDK. Adopting Brent’s approach would be useful to any developer because not everyone can debug via Twitter. 😝
Adding drag and drop to an iOS 11 app is pretty straightforward, but developers still can (and should) customize the behavior of the feature to give it the right feel. Oisín Prendiville discusses the various ways the team behind Castro integrated drag and drop to make it work best for the app.
Products should be designed to appeal to their users – so the best way to design a product is to know how users think. Matthew Talebi discusses ways in which psychology can be used to improve the user experience of websites, but almost everything he discusses applies to app development as well.
We keep mentioning neural networks and machine learning on iOS, but I never understood what was actually going on under the scenes. This video explains how neural networks work extremely well – if you have any interest in neural networks at all, I can’t recommend this video highly enough.
The hardest problem in computer science! 🙃