Comment

Our final guest issue this week and we have Marius Constantinescu at the helm! Originally from Romania but now working for Nodes in Copenhagen, Denmark.

Over to you Marius!

Dave Verwer

Most places, including where I live, had a few days off this week, so things have been a bit slow for some after the long weekend. Not for Apple, though, who released new betas of its OS-es as well as Xcode 8.3.2 this week, solving some regressions introduced in recent updates. It's the second update Xcode receives in the last two weeks, and while some see this as a sign of weakness, thinking "they must've broken something if they need to release an update so soon", I am impressed by the fact that a company as big as Apple can move this quickly to enable developers to keep doing what they do.

In other news, some developers are beinginvited to try an updated Bug Reporter, and Apple published its first npm package to enable playing Live Photos on the web. A lot of activity this week from Apple, which make me even more excited about WWDC. 😄

And don't forget about the scheduled maintenance for iTunes Connect, which will include downtime of up to eight hours tomorrow.

Marius Constantinescu

News

AsyncDisplayKit was created by Facebook and it was one of the many iOS open source frameworks which resulted from Paper (remember that?). Over the years, Pinterest contributed more and more to it, until this week they officially took over the project and moved it to a new home. Not much has changed yet in terms of using the framework, but big and probably breaking changes have been announced for the next major release. Personally, I'm curious to see what's going to happen to the more than 150 issues open on the old repo. 🙃

Sponsored Link

Kobiton allows you to manage the devices you own and access the real devices you want. From manual to automation testing, Kobiton gives you one view of all your testing history. Sign up for a 15 day free trial and start testing on real devices!

Tools

Submitting radars is not exactly a smooth experience and having to do it through an old web interface is less than ideal. This macOS application by Keith Smiley attempts to simplify that. For lack of an official native app from Apple for submitting radars, this looks like a great alternative, at least until the new Bug Reporter gets out of beta. Like Quick Radar which has been mentioned before, it also supports cross posting to Open Radar.

Code

Dependency injection is one of the latest trends in iOS development, for better and more reusable code, cleaner architecture, testability and others. But adding a new dependency to a component means you have to refactor its initializer and all its calls, and we all know Xcode still can't help with that. Krzysztof Zabłocki suggests using protocol composition to avoid the need for that refactoring. Personally, I'm very curious to try this approach, as this is a problem I've met before.

iOS 10.3 introduced a way for an app to change its icon dynamically. While this sounds like it could open a lot of new possibilities, people are still struggling to find a good use-case for it. Most of the problems in doing that are caused by the limitations of the API, which seems to insist on showing the user an alert after the icon was changed. It's still a very new API, and I'm not aware yet of any live apps that use it. Many of the questions seem unanswered for now, and will probably remain that way until it maybe gets updated in a future release.

We've all seen @available or @escaping, but what about the less common of Swift's attributes? Jordan Morgan goes into details on some of them, providing some very good explanations. Now, if only that popViewController(animated:) would be @discardableResult again. 😄

Simply described as "a button that squishes when pressed", this UI component made by Patrick Balestra is inspired by Clips, the app that Apple launched last week. This is particularly interesting as it potentially shows the direction of iOS 11 UI being a little more dynamic in terms of touch down states which is rumoured to be something that might be changing.

Business and Marketing

Releasing app updates is very important for a business. Users will be more attached to an app that is updated regularly. Besides the clear benefits of bugfixes, an app update allows you to add more features, tailor the content for special events (Christmas / Easter editions, for example), and it gives your app more chances of being featured, which will lead to more users. All those benefits and more are discussed in the article by Kyle Richter.