The iOS Huddle #1

Jamin Guy
BPXL Craft
Published in
3 min readSep 22, 2016

--

Thursday, September 22, 2016
The iOS Huddle is our monthly roundup of the best links shared in the Black Pixel iOS team’s Slack channel.

From BPXL Craft

In case you missed it, here is a recent iOS-centric article from BPXL Craft:

Event Delivery on iOS: Part 1
Brandon Alexander tackles touch handling in the first part of a series on event delivery. Find out how gestures and events work behind the scenes with the responder chain.

From Around the Watercooler

Xcode 8 Tips
We’re just scratching the surface of what Xcode 8 can do and so far it’s looking great.

You might have noticed that the console is a lot noisier than in previous versions. Russell Invanovic shares the OS_ACTIVITY_MODE environment variable to turn this down to -11. Enjoy the silence.

Felix Schwarz finds the handy “⌥ + ⌘ + /” shortcut to easily generate doc comments. Your future self thanks you.

Behind the Scenes with iOS Security
These days Apple is increasingly providing more information to help and inform developers. In a recent presentation at the Black Hat conference, Ivan Krstić, head of Apple Security Engineering and Architecture, unveiled some details on how security is handled in iOS.

Neural Networks’ “Hello, Dave”
You might have heard “machine learning” referenced during the recent iPhone 7 announcement. It turns out you can add this functionality to your own apps by using the new BNNS framework. Matthijs Hollemans walks through an example app to show you how.

Implementing AVAssetResourceLoaderDelegate: A How-To Guide
Jared Sinclair delves into the recesses of AVFoundation to find a solution for reducing bandwidth usage for a podcast app.

Working with JSON in Swift
For a while there it seemed like there was a new Swift JSON parsing framework every week. We prefer to write our own parsers, and it turns out our approaches align with some best practices recommended by Apple.

Increasing Performance by Reducing Dynamic Dispatch
Dynamic dispatch is a key feature of object-oriented programming that enables things like method overriding. Learn how and when to eliminate dynamic dispatch to increase runtime performance by using the Swift keyword final.

Access Control Changes
Swift 3 brings some interesting changes to access control that will help keep things on lockdown. Find out about how the new fileprivate access level will affect your apps and plan for migration.

HTTP Live Streaming Examples
Developing to support HLS just got a lot easier with these awesome examples from Apple that include both basic and advanced streams.

Generate Haptic Feedback
iOS 10 brings haptic feedback to the dev toolkit. Discover how to enhance apps to provide richer feedback for touch interactions with UIFeedbackGenerators.

Type Erasure in Swift
Using protocols and generics together in Swift can be mind numbing. Hector Matos works to help explain some Swift shortcomings and how to deal with them. Find out what Type Erasure is and how it enables abstract types in Swift.

Custom Fonts in Swift
Using and managing custom fonts has always been challenging. Ben Dietzkis lays out how to approach this process using Swift protocol extensions to create a reusable custom font system.

Localizing Plurals in iOS Development
Determining whether a noun should be pluralized isn’t as easy as checking whether a number is greater than one. Many languages have different rules than English, so preparing your app for internationalization presents many challenges. Quentin Zervaas points out where the dragons lie and how to slay them.

What the Functor is a Monad
Objective-C blocks brought more functional styles to iOS development. Swift brought functional programming front and center. Daniel Steinberg covers areas of advanced mathematics and demystifies some of the functional aspects of Swift.

Apps We Dig

Stay up to date with the Swift mailing lists with Hirundo.

Clean up disk space by finding large, outdated beta and device support files with DaisyDisk and OmniDiskSweeper.

Visually debug tricky UI hierarchy issues with this awesome second version of Reveal 2.

For more insights on design and development, subscribe to BPXL Craft and follow Black Pixel on Twitter.

--

--

Jamin Guy
BPXL Craft

VP, Engineering at Ingage by Scrollmotion Previously: @blackpixel, @InvisionHeart, Riposte for App.net , AirCurve, iTalk, @SocialScoreApp, @streamweaverapp