Sponsored Link
Ship quality apps faster and drive 5-star reviews with Instabug
Install just two lines of code and receive comprehensive reports and all the actionable feedback you need to build a world-class iOS app. Get 20% off any plan when using offer code iOSDevWeekly2019. Get started now.
News
Swift Community Podcast
A new podcast from John Sundell, Garric Nahapetian and Chris Lattner. The first episode takes a look at the birth of Swift, but the reason it made the news here is that they're trying something new with the show. Instead of being the same format every week, it may not even be the same hosts! They're using GitHub to organise episodes and everything is available for you to get involved with. Want to be a guest? Suggest it. Want to host an episode? Suggest it. Want to help with editing? Suggest it.
It may work, or it may not! But the concept is different enough that it's worth checking out.
Alamofire 5: One Year in the Making, Now in Beta!
It struck me as I read this announcement of a major new version of Alamofire how it feels like we're way less dependent on third party networking libraries than we used to be. In the days before NSURLSession
it felt like something like AFNetworking was almost an auto-import. It's a credit to the standard APIs that it no longer feels that way.
That said, there's definitely still a place for frameworks like this. From a quick look, this release seems to focus on optimisation and simplification of the underlying code which is always a good thing!
Tools
swift-sh
Can you imagine starting your week wanting to delete some tweets and ending it with a suggestion from Chris Lattner that your experiment might fit well into the compiler and being featured on NSHipster?
Max Howell can, because that's what happened! One thing that holds Swift scripting back is the lack of any way to easily include dependencies. Wouldn't it be great if you could just tell import
where to get a package? π
Bagel
This network monitor tool from Yagiz Gurgul looks good. It's not a proxy based network debugger like Charles, so you'll need to install a library in your app. However once that's done it uses Bonjour to broadcast details of your network calls out to the Mac app and off you go.
All about the Swift Package Manager and the Swift toolchain
I found this article by Tibor BΓΆdecs fascinating. If you're interested in, or want to extend the Swift toolchain then you'll want to dig in here.
Code
Hacking with private APIs on iPad
Gui Rambo with not one, not two, but three different ways to use private APIs from Swift Playgrounds on the iPad. Obviously this is just for playing around, but playing around can be fun.
Catching layout feedback loops with runtime magic
Infinite layout loops with Auto Layout aren't incredibly common, but when they do crop up they are pretty disastrous. This post by Ruslan Serebriakov and the LayoutLoopHunter library that accompanies it are here to help you out when they do occur.
Different types of iOS βcrashesβ
When is a crash not a crash? Benjamin Scholtysik takes us through all of the things that can look like a crash to our users that you won't get a stack trace for.
Design
Evernote Design
This new site from Evernote is a fantastic set of design resources. Both free and paid resources, covering everything from icons, typography, design inspiration, stock artwork and so much more. π
Business and Marketing
An experiment regarding refunds on the App Store
Luc Vandal with an interesting experiment with App Store reviews. There's no huge scandal here but it does feel like a bug.
Videos
Designing a Modern Swift Network Stack
Mike Zornek talking about network layers at Philly Coccoaheads. I mentioned above how it's less common to use a third party networking library these days, but that doesn't mean there aren't problems to solve to create a well architected, testable network layer in your app.
Sponsored Jobs
Senior iOS Engineer at Babylon Health, London and Remote
We're looking for iOS developers at all levels to join one of the most disruptive and socially conscious AI start-ups around.
Comment
Here's an interesting tweet from our friend Felix Krause. Of course it applies to our whole industry, not just iOS development and not just tools like fastlane.
It's hard to solve this problem because documentation systems generally don't allow updates to be easily seen. That famous saying comes to mind, "If a tree falls in the forest and no one is around to tweet about it, does its Klout score increase?" π Obviously I'm being a little sarcastic there, but the discussions that happen after a post is published are part of the reason people blog.
But there's another thing to take into consideration too. Official documentation isn't always the top search result, and web search is how people solve problems. Take for example this popular stack overflow question which appears much higher in search results than the actual documentation for the feature. Even this tweet from Felix appeared higher in most of the searches I did when playing with this. As long as people find the information, does it matter how?
Well yes, it does. Documentation gets spread out all over the place and the open source libraries and tools we have are harder to use. Documentation is also a really great way to quickly judge the quality of a library/tool. It's important.
So to finish this week's rather random thought, I'd just like to echo the original point that most documentation for open source libraries and tools is also available for editing. In many cases you'll also find that maintainers are even happier to see documentation pull requests than code ones! It's also a great way to get involved in an open source project you love. So what are you waiting for?
Getting involved in open source doesn't always need to be about writing code.
Dave Verwer