Sponsored Link
Find An iOS Dev Job Through Vettery
Vettery specializes in developer roles and is completely free for job seekers. Interested? Submit your profile, and if accepted, you can receive interview requests directly from top companies growing their mobile dev teams. Get Started.
News
Updating Apps that Use Web Views
Yes, Apple deprecated UIWebView
and WebView
with iOS 12, but I didn't think they'd be banned from the App Store this quickly. Transitioning to WKWebView
is rarely straightforward, mainly because it runs out of process, but also because the API is so different. So take this warning to heart! It's unlikely that you're using it in a new app, so this is all about the December deadline to make sure it's gone from all existing apps too. I won't be surprised at all if we see an extension to this deadline (official, or otherwise) as we get closer to the end of the year.
Is there something that you still can't do in WKWebView
? Apple are listening but get moving because it's likely any changes will need to be locked in well before WWDC this year. So, basically, now. Oof. π¬
The Decade of Swift
Let's ring in the new year with John Sundell as he takes a look back at the last ten years of Apple platform development, and of course, Swift.
Tools
Manage Your iOS Resources Type-Safely with R.swift
I hadn't come across R.swift before, but it looks to be a nice alternative to SwiftGen. If you want to try it out, let Andreas LΓΌdemann bring you up to speed quickly in this comprehensive guide.
Code
A11yUITests
Rob Whitaker with an extension to XCTestCase
to help you ensure that your app is as accessible as possible. It can help you check whether your UI is too small, whether your buttons and images have labels, and whether those labels are sensible. π
UBKAccessibilityKit
It's typical, isn't it? You wait years for a good accessibility testing framework and then two come along at once! π This one also looks like it checks everything I mentioned above, as well as testing for colour contrast, and whether dynamic text is supported. What a fantastic week for accessibility!
Replicating the Activity Application in SwiftUI
When learning something new, it's often a good idea to reproduce something familiar before jumping into to making something brand new. I've always liked the UI of Apple's Activity app, and it's that UI that Dmitry Shipinev and Nikita Afonasov chose to reproduce in this article.
Using Type Erasure to Build a Dependency Injecting Routing Framework
Bruno Rocha with a great article that's worth reading for two reasons. First, it's the most understandable discussion of type erasure I've ever read. Second, it's an interesting look at dependency injection.
KVO, My Enemy
Itβs just this one small use of KVO. Surely weβll be fine.
Banning the use of KVO isn't going to mean you won't have bugs in your app, but it'll help!
Business and Marketing
Don't shoot yourself in the foot...
Here's Curtis Herbert with something to bear in mind this year.
Youβre much more likely to shoot yourself in the foot than have a competitor come in and sweep the market.
Jobs
Mobile Full Stack Engineer @ Expensify β Expensify seeks a self-driven and collaborative individual passionate about making code beautiful and effective, with a general understanding of and experience in JavaScript, Android and/or iOS SDKs, and mobile design patterns. PHP is a plus, but not a requirement. β London UK, Portland OR, or San Francisco CA
Swift Engineer @ WillowTree β At WillowTree, Swift Engineers have the freedom to create products people love. Youβll collaborate with a cross-disciplinary team to build large-scale products for well-known brands.Β We look for team members who advocate for software engineering best practices and inspire their team to continuously learn and improve.Β β Charlottesville VA
People love to start new challenges as the new year start. Is your company hiring right now? Why not get yourself a new teammate who already subscribes to iOS Dev Weekly by listing any open positions at your company over at iOS Dev Jobs?
And finally...
When C programmers need a REPL, Swift comes to the rescue! π
Comment
Happy new year, everyone! π I hope you all had a fantastic break and are raring to go for 2020! I know I have big plans for this year, and I can't wait to get started with them! π
Before I launch into this week's comment, I want to give the iOS Dev Survey one final push. I'm closing the survey in four days on Tuesday 7th January. So, if you've been delaying filling it in this is your last reminder. Also, I'd like to sincerely thank the 2,075(!) people who have kindly donated their time to this project so far. Thank you. π
I'm a huge fan of static site generators. In fact, this newsletter started as a static site! It was a Jekyll site full of Markdown files, and three templates; One for the web version, one for the email, and one for the plain text email. The iOS Dev Directory is a static site. The SwiftPM Library is a static site front end combined with a custom back end. My blog is a static site. Even App Review Times began as a static site. Itβs been my preferred way to get a project up and running quickly for a very long time. π
So, Iβve been eagerly awaiting John Sundellβs Swift based static site generator for a while, and just before the holidays he made the last part of it available. It consists of Publish, Plot, Ink, and Splash. I'm not someone who pines to write everything in Swift, but I'm definitely interested in this.
I'm even building a new static site right now for the iOS Dev Survey Results. Unfortunately, I had already started building the website before John's tool was published (pun intended!), but I'll be checking out John's project for the next itch that I inevitably need to scratch! π¬ I'm excited to try it out.
Dave Verwer