Sponsored Link
Kobiton: Your Complete Mobile Device Lab Solution
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!
News
AsyncDisplayKit is moved and rebranded as Texture
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. 🙃
Tools
Brisk
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
Using protocol compositon for dependency injection
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.
Why Change App’s Icon Dynamically?
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.
Using Swift's Attributes
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. 😄
SquishButton
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
Staying Competitive with App Updates
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.
Videos
iOSCon 2017 Videos
iOSCon happened two weeks ago and the videos are already available online. There are lots to choose from, and there are some really good ones in there.
Sponsored Jobs
The Place Where Your Dream Job Finds You.
We believe your time is valuable. On Hired companies apply to you.
Lead Mobile Engineer @ThoughtWorks (NY, CHI, ATL, DAL, DEN, SF)
Innovate, travel, and collaborate with clients & teams passionate about creating enterprise mobile solutions.
Senior iOS Developer @ Agoda.com in Bangkok
Join us @Agoda.com - one of the world's largest online travel accommodation platforms.
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 VerwerMost 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 being invited 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