Sponsored Link
Why work with simulators when you can test with real devices in the cloud?
What if you had access to a large set of cloud-hosted Apple devices to run automated regression tests with a single line script? What if the tests produced visual test reports to help you review layout and compare differences across devices and OS versions? That's what Visual Studio App Center Test service offers. Learn more.
News
Introducing ClassKit for Education Apps
So as we expected, ClassKit was announced at the education event this Tuesday and here's the details. There's going to be a new Schoolwork app in iOS 11.4 and ClassKit is your way to integrate with it.
Obviously this isn't going to be relevant for everyone but if you're involved with an education focused app then there's a good chance this is going to be something you'll want to get up to speed with.
Show and Tell
Talking of education, I liked this article by Daniel Steinberg. There has been a bit of talk of Swift Playgrounds this week and while I think we all agree that it's an amazing app, there's definitely a missing link in between where people can get to with Playgrounds, and actually making apps.
Honestly, I don't expect to see anything that resolves this from Apple any time soon, definitely not at WWDC this year since Playgrounds 2.0 is so new, but it has to be on the cards for one day.
Tools
Charles Web Debugging Proxy for iOS
Charles is an essential part of any developer's toolkit but of course until now it needed to be running on your Mac which was awkward for debugging iOS apps on a real device. That pain is now gone though! Just install a new root certificate, generated from the app on your phone (and yes, you should always be careful installing root certificates!) and you're good to go monitoring both SSL and regular connections that all your apps make.
There's also a video of Karl von Randow from the try! Swift conference where he talks about the product in much more detail. Definitely worth a watch.
Code
Making illegal states unrepresentable
As always, this is a fantastic article by Ole Begemann. He talks about APIs in general, but specifically about the URLSession API and how it can have potentially invalid states in its return values. Can we make these APIs better now that we are firmly in the Swift era? There's a really interesting discussion to be had here.
Preventing views from being model aware in Swift
I've been down the path that John Sundell describes here. Is there really any harm in having models leak into your views? Yes, there probably is, but also dealing with completely generic views is sometimes overly verbose. There's a good compromise hiding in the factory pattern though.
Elegantly chaining UIViewPropertyAnimators
Chained UIView animations can result in huge pyramids of braces in your source, but they are much easier to manage with UIViewPropertyAnimators. Thibault Wittemberg talks about using the new (ish) API for chaining and then goes on to explain how it can also be done in a reactive way.
Design
UIAccessorizedTextField
I think we can all agree that iOS and combo boxes (when was the last time you heard that term? 🤯) just screams I made this app using a UIWebView. 🤪 So what are the alternatives? Damien Laughton suggests there might be another alternative where you can still offer the ability to type into the field, but also offer some pre-defined choices.
Business and Marketing
Developer Insights: App Store Product Page
I must admit that I love the design of the new App Store page in the iOS 11 store. This week Apple put out a video from some companies that have been testing the effect of the new design and available features. It's not an in depth video, but it's still worth a watch. 👍
Should you reply to App Store reviews?
It's been a while now since we have had the ability to respond to user reviews on the App Store, but is it worth the effort of monitoring and responding to them? If you have stopped paying attention, Stuart Hall has a story you should probably read. 🎉
Sponsored Jobs
Swift Developer at WillowTree, Charlottesville VA
The career move you've been waiting for. Competitive pay. Exciting projects. Great people.
Mobile Engineer at Motivate, Brooklyn, NY
Have a meaningful impact on complex, innovative software used by hundreds of thousands of people as part of their daily lives.
And finally...
I didn’t think this through…
When your about screen is more important than the functionality of your app 😂
Comment
Congratulations if you got lucky in the WWDC lottery! I won't be at the main event this year, but I will be in the city 🎉 which gives me a great excuse to talk about all of the other wonderful events that are going on that week.
First up, as always is the ever reliable AltConf. There will be live streams of the Keynote and State of the Union talks, then it's straight into community talks & sessions for the rest of the week. Oh, and if you fancy speaking there's also a call for speakers open at the moment. Tickets are available right now.
Then, there's Next Door with a great line up of speakers already announced and again, tickets already available.
Taking a slightly different approach, there's try! Swift also making an appearance in San Jose. It's only a one day event, but it's an interesting one. Starting with a panel discussion on Swift it then goes into a hack day contributing to the language. If you've always wanted to get started with the process of developing Swift itself, you should definitely earmark Friday for this event. Tickets are also already available.
Finally, if you're more interested in the design side of things then Layers is also returning. No speakers or tickets available yet but there's an email list (and a simply stunning display of CSS) on the page so get yourself down on that list if you're interested!
Did I miss any other conferences in San Jose that week? I know there are lots of other events, but I'll cover those closer to the time. I'll tweet any other conferences I missed over at the iOS Dev Weekly Twitter.
Dave Verwer