Sponsored Link
Embed in-app support with Zendesk: save $177 with coupon “NOTES”
With Zendesk's Mobile SDK, you can join Strava, Instacart, and Venmo in bringing rich, native, in-app support to your app. Use coupon code “NOTES” at the end of your 30-day trial to get a $177 discount. Try it out today.
News
Swift 4 Release Process
Ted Kremenek with a more formal follow up to last week's mailing list message on the release of Swift 4. He goes into detail on how Swift 3 and 4 will interoperate. Building for Swift 3 will be the default while breaking changes like the overhaul of the String class will be protected behind a compiler flag for Swift 4. The good news is that single files can be converted one at a time which should make things a little easier to convert.
Swift Changes Considered Harmful
Talking of moving between major Swift versions, as the deadline for Swift 2 being removed from Xcode approaches there's certainly a trend in posts grumbling about the migration process. This week it's Craig Hockenberry's turn to join the discussion. The main point of this article around finding working sample code, even going as far as to suggest that sample code shouldn't be written until the syntax is more stable. Thaddeus Ternes also wrote on the same subject and there was another Swift 3 migration post mortem too, this time by Mozilla.
Tools
Dash 4
This week saw the release of a new version of the Dash documentation viewer and the main feature is kinda useful. Pick a documentation set and click play to start a REPL for a huge number of the supported languages. Who says that Playgrounds hasn't had an effect on development in other languages! 🙌
Adding Xcode Keyboard Shortcuts
A quick reminder from Erica Sadun that you can make Xcode much quicker to use with a few well placed custom keyboard shortcuts .
Code
Swift Ownership Manifesto
So ARC is baked directly into the core of Swift and I'd imagine we're all pretty happy with that? I know that as an iOS developer I certainly am. But Swift is not just for writing iOS and macOS apps, it's also designed as a systems language and that can require much closer control of memory management. So let's talk memory and ownership in Swift 4 with this manifesto. It's also worth reading this set of notes from Alexis Beingessner as well.
PanelKit: A UI framework that enables panels on iOS
Twitter went a little crazy for this library earlier in the week, and I must admit I can't really see why! 🤷‍♂️ Windowing on iOS has been done before, although admittedly not in anywhere near such a polished way. But, before you go too crazy with apps that work like this, stop for a second and think whether this is really a good idea.
SwipeCellKit: Swipeable UITableViewCell based on the stock Mail.app
Even though swipe-able cells form a key part of the Mail.app UI, there's no standard for creating them in UIKit right now. Don't worry though because Jeremy Koch has put together this comprehensive library for making it trivial to add this kind of table cell into your app. There's plenty of options for customisation too. Looks good.
NextLevel: Rad Media Capture in Swift
This looks to be an extremely comprehensive photo/video capture library written in Swift 3. At its core it looks to be a customisable capture API but there's so much more to it than that (see the documentation). What are you waiting for? Go and build the next Vine or Snapchat. đź‘“
Design
Overcast 3: Design walkthrough
You wouldn’t believe how many customers have asked me to add features that were already there, or couldn’t find basic functions like deleting episodes, because they weren’t apparent enough in the design.
This! I've been doing some customer research recently and it's amazing how something that seems to obvious can be completely invisible to real users of a product. It's fine to include swipes and long presses as shortcuts to features, but make sure that the functionality is also really obvious without them.
Business and Marketing
That Dirty M Word
Curtis Herbert has been writing some great posts recently and this is no exception. He talks about paid, targeted advertising on Facebook, Reddit and even YouTube. I've experimented with Facebook, LinkedIn and Twitter before but I'd never have considered advertising on YouTube. Great article.
Videos
Learning From Our Elders
Rob Napier with a great talk on learning from functional programming techniques in Swift.
Sponsored Jobs
Job Offers Without the Hassle - Try Hired
Sick of pushy recruiters, and dead end interviews? Try Hired to talk to companies that are the right fit. 🏦
Senior iOS Engineer @ Twitch
Want to work on the world's leading video platform and community for gamers? Join us.
Senior iOS Developer
Work among the best and brightest. Solve problems that matter. Disrupt an industry. Join Clio!
Comment
Ever wanted to write for iOS Dev Weekly? ✏️ I’m looking to hire a partner to work alongside me on this publication. Interested? Keep reading.
For the past 5+ years I've done all the collection, writing and publishing myself and I feel it’s finally time to get someone to help me with the production process. Where better place to find the ideal person than amongst the iOS Dev Weekly readership?
If you're interested, please fill in this questionnaire before Friday, March 3rd. Oh and if it's not obvious, this is a paid position, I’m not looking for voluntary help!
Dave Verwer