Sponsored Link
Free ebook: The 9 Fundamental Concepts Every iOS Developer Should Know
It's easy to find material on iOS development but it's not easy to know which one is the most important to learn. This guide covers all the concepts at the foundation of every iOS app you will ever build. It also includes the free Apple guides I used to learn, which allowed me to become a highly paid freelance developer.
News
CocoaPods 1.0
I first mentioned CocoaPods back in Issue 8 and my comment at the time was that "it has potential" π. I think we can safely say that it turned out to have more than just potential! My thanks to everyone who contributed to this project over the years and a huge congratulations on reaching this milestone. It's also worth noting that the CocoaPods app which has been in beta for a while also accompanied the release, so make sure to check that out too.
However you should be aware that there are some breaking changes with 1.0, so read the post carefully and look over the migration guide as well.
The Swift 3.0 release process
We also got some news this week about how Swift 3.0 is going to be released. Developer Preview 1 has already been cut and should see a release in a month or so. We'll then see regular previews throughout the summer and I'd expect a final release alongside whatever the new iOS/Xcode release in September!
Tools
Taking Control of Xcode Issue Navigator with XcodeIssueGenerator
Sean Coleman on a new tool to mark your TODO
and FIXME
comments as real warnings that show up in the issue navigator. Using #warning
was a common way to do this in Objective-C, but unfortunately it's not supported in Swift. Add a Run Script build phase to your project and run this tool to make it impossible to forget that you needed to revisit a section of code.
Code
Introducing SwiftTweaks
There's a Steve Jobs story I heard once about getting the "wiggle" animation right for when apps are being deleted from the home screen. The animation wasn't perfect, so a custom version of the OS was built which included sliders for rotation, speed and other parameters. A few minutes of experimentation until it felt right, and out came the correct settings. How about being able to do that with your own apps? SwiftTweaks gives you an easy way to set it up. As mentioned in the article this is similar to the Objective-C Tweaks library, but for Swift.
Beware the UIKit Visitors!
Great article by Benjamin Encz on tracking down a performance problem inside UIKit. The problem itself is interesting (and may be affecting your apps!), but the detailed walk through the investigation process is where the article really shines.
Packing Bytes in Swift
Why use JSON or XML when we can store data in huge BLOBs? π₯ Well, there are some reasons and Russ Bishop starts by explaining why you might want to do it before digging into the how. Of course, there's UnsafeMutablePointer code in here and you should bear his warning in mind:
No one is too good to write a buffer overflow and that includes you.
π
Design
How to Use Clashing Fonts
I've always gone by the basic rule of never using more than two fonts on a page, and always making sure that they are visually distinct. Rules are made to be broken though, and Jonathan Hoefler has written a fascinating article on when it's beneficial to do so.
Design at 1x β Itβs a Fact
I think this is mostly a solved problem, but if you still need some convincing then Kurt Varner has an article on the benefits of designing at 1x resolution.
Videos
Building Fabric.app in Swift
Javi Soto with a talk on building the recently released Fabric.app. He covers the tools, app architecture, decisions around storyboards and XIBs, some of the libraries they use and various other things.
Sponsored Jobs
5+ iOS Developer Job Offers in 1 Week
With Hired, companies apply to hire you - get salary and equity offers up front from companies like Facebook, Postmates, & Square. π₯
iOS Developer - COBI, Germany (Frankfurt am Main)
Weβre crafting the most beautiful cycling app. Join the ride.
Senior iOS Engineer, Quidsi an Amazon company - Jersey City, NJ (4 min from NYC)
Mobile is our fastest growing channel for Diapers.com, Soap.com and Wag.com.
And finally...
African mobile game rewarded its top players with a real cow
I'm really glad Nokia didn't do this with Snake. π
Comment
There's been plenty of talk recently about how App Store review times are falling significantly. Looking at the numbers you can certainly see a clear trend and the recent raw data shows very few reviews taking more than a day.
Of course, the numbers from Review Times are only based on a tiny number of submissions compared to the total number of reviews that happen every day, but in my experience they do track the average reasonably accurately. This feels like a deliberate effort to reduce the times rather than it being an anomaly.
I wonder if this is preparation for an announcement of shorter, and more consistent review times at WWDC? When Phil Schiller took over full responsibility for the App Store last year, people predicted that he'd be making changes. Yes, he was already responsible for app review before his role changed, but new responsibility often makes you look at something with a fresh set of eyes.
However while the time taken for a review is important, it's consistency and communication that are much more significant. So as someone who is never happy π, I'd like to wish for something more than a simple reduction in review duration. Imagine if you were guaranteed a notification about your review 24 hours after submission, with no exceptions. This notification would either say that your app was approved, rejected, or that the review needed to be escalated. There are always going to be apps that need additional time in review, but knowing with absolute confidence whether you're in that position after 24 hours would be fantastic.
Fingers crossed for good news either way at WWDC.
Dave Verwer