Sponsored Link
iOS Developers: Try Bugsnag, and Get a Free Shirt π
Automatically detect crashes in your iOS apps using Bugsnag. With support for Swift and Objective-C, report all unhandled and handled exceptions alongside detailed diagnostic reports, including breadcrumbs for faster reproducing of bugs. For a limited time, get an ultrasoft shirt for trying Bugsnag. Create an account and send us an error.
News
Reverting SE-0025 and returning to Swift 2 access levels
The proposal to introduce fileprivate was a controversial one at the time, and while it did get implemented, many of us were not 100% happy with the solution. This week, SE-0159 was submitted which proposes to revert the behaviour back to what we had with Swift 2. I have no idea how this plays out but it'll be interesting to watch. My gut feeling says this one gets rejected, but that maybe some compromise between the two might succeed as a result.
Swift 3.1βs public debut is on iOS, not the desktop
Yes, this is probably only going to be true for a few days as Xcode 8.3 really can't be too far away at this point, but who'd have ever predicted this when Swift Playgrounds for iOS was released last year!
Tools
GodEye
This looks great. It's an extremely flexible debugging framework which you can add to your debug builds. It monitors... well, basically everything including network calls, disk access, CPU usage, FPS, memory, crashes and displays it all right inside your app.
System Level Breakpoints in Swift
Daniel Jalkut on the subtle problems of using LLDB to debug Swift code that's calling Objective-C code in UIKit behind the scenes. It's a complex problem and certainly would catch out anyone who had never done any Objective-C. Radars have been filed though and this seems like a big enough problem that it should get some attention at some point!
Code
On Comments
No matter what your opinion on comments is, I think we can agree that there are some aspects of them which are troublesome. There have been hundreds of posts on why they are bad but rarely any proposed solutions other than "code should be self documenting", which I've never really found to be 100% true. This post by Soroush Khanlou is a little different though as he lays out some concrete alternatives.
Transition
I've written before about how the view controller transition APIs introduced with iOS 7 were not the triumph that they could have been and are always a little (and sometimes a lot) tricky to implement. This library simplifies things and separates out the component parts of the transition such as the animation, interaction, etc...
OK, can you all stop writing animation libraries that look really good now please? They are getting close to being the new JSON parsers. π
When to use guard vs if
I must admit that I can be a bit guard
happy in my code from time to time and I occasionally guilt of overusing it where I should be falling back to if
. Natasha Murashev has some good guidance on when to use which.
Introducing Plank
Rahul Malik talking about Plank, a new immutable model layer developed at Pinterest. He talks about the reasons for picking an immutable approach and the goals for the project. He then goes through the features and talks about the JSON schema, it's all backed up by code samples too. Good stuff.
Design
How to use colors in UI Design
Wojciech ZieliΕski talking all things colour. He advocates starting your UI design in greyscale so that you think about layout and spacing rather than colour at first, but then goes into the process of picking a palette. Whether you choose to generate your palette from Nature, or K-Pop there's some great advice and tools in here.
Business and Marketing
74% of No. 1 iPhone Apps Don't Last a Month in the Top 25
I'm kinda surprised to hear that this number is so high and I can't quite decide if it's a good, or a bad thing! The advantage of a ~75% churn is that it does give you a chance to get up there. The bad news? Well next month you're probably in the 75% and heading out. As always though, while the top charts are a nice boost they shouldn't be something you rely on.
Sponsored Jobs
Could Finding a Job Be Easy?
On Hired it is! One application gets you in front of all our innovative companies looking for their next iOS Ace. β οΈ
Senior iOS Engineer @ Twitch
Want to work on the world's leading video platform and community for gamers? Join us.
Senior iOS Developer @ Agoda.com in Bangkok
Join us @Agoda.com - one of the world's largest online travel accommodation platforms.
Comment
So this week saw a rather surprising acquisition from Apple and while I wouldn't usually cover acquisitions, this is one that could have implications for developers, so here goes.
Both the app, and the team have been acquired and while it remains on the store, admittedly without some of the existing integrations (the reason for which, I'm sure Marco Arment is correct about) we really don't know what's going to happen next.
My prediction (and hope!) is that the app sticks around in its current form, but I don't think we'll see updates with anywhere near the regularity that they've been maintaining until now. Instead, I hope that the team is already working on bringing better ways for apps to communicate into the core of iOS, and that what we see is better, public APIs that everyone can benefit from. I believe that would be a fantastic outcome and would show a commitment from Apple which might come as a surprise after last year's disappointing news about Sal Soghoian.
Given the timing of this, I'd be surprised if we saw anything appearing as a result of it in iOS 11, but maybe in 12? Oh and huge congratulations to the Workflow team! Amazing work both building an incredible app, but also having an opportunity to bring some of their thinking to iOS! π
Dave Verwer