Sponsored Link
Free course: The Ultimate Course to Making Professional iOS Apps
How do you become a highly paid professional iOS developer? Learn the skills that allow you to work at the best companies, get great clients and transform your ideas into high quality apps in the App Store.
News
Swift Source Compatibility Test Suite Now Available
Well this is a little surprising! To ensure minimal source compatibility issues in future versions of Swift, Apple announced a compatibility suite of projects that will constantly be checked for breakages with every build of the compiler. Even better, if you maintain an open source project then you can request that it get added to the suite! It needs tests of course, and a few other things but this is a wonderful idea.
Tools
TestDrive
Want to quickly try out a CocoaPod or other library? Well as with everything Swift these days, testing something out means using it in a playground. This new command line tool by John Sundell takes a pod name or a git URL and generates a playground for you with the library already imported. π
What is the value of iOS code signing?
Do we really need code signing today? Felix Krause argues that we don't (with the exception of local development and AdHoc builds) and it's hard to disagree. The code signing that you add has never been used for App Store builds and with TestFlight, it's also no longer needed for betas. There's some good ideas in here.
Code
Every Developer is an API Designer
Andrew Bancroft with a great article on keeping your mind on the fact that every class, method, enum, constant, and basically every other piece of code you write is an API that someone else (or future you) will need to use again later.
BouncyLayout
Remember the delight when you first saw the beautiful bouncing animation when you scrolled an iMessage conversation on iOS 7? Remember how you thought you'd be able to create that so easily in a collection view? Remember your disappointment when the iMessage conversation view turned out (as far as I remember!) to be written with WebKit? π± Finally your wait is now over thanks to Robert-Hein Hooijmans's BouncyLayout library! π
Haptic Feedback makes you vibrate!
I think the haptic feedback on the devices that use is one of the best features of iOS 10, especially on the iPhone 7. It's been adopted and used really well in the operating system but are you getting the most out of it in your apps? Marius Constantinescu tells us how to use it, and more importantly where and when to use it.
Note: I only just realised as I was about to publish that this article is written by Marius, last week's guest author. That's pure coincidence, there's no favouritism going on!
Window installation
Why do we only use one window in our iOS apps? Because that's the default? Because we don't know that you can use multiple? Bryan Irace encourages us to experiment with adding a new window when you need to completely obscure the whole UI of your app. If I remember right, this used to have horrible implications with auto rotation but he doesn't mention that here, so maybe those problems have gone away! π
Design
Stark
Designing in Sketch? Concerned about how your design will look when your user is affected by colour blindness or another visual impairment? Stark works directly with Sketch to quickly show you where your problems are.
Business and Marketing
The Art of Writing One-Sentence Product Descriptions
How would you describe your app in one sentence? If you can't, you might want to think about this.
Videos
Writing your UI Swiftly
Sommer Panage with a talk from last year's try! Swift on building reliable UI code, quickly.
Sponsored Jobs
The Easiest Way to Find a Job
Hired lets you sit back while job offers come to you. Try it Today. π
iOS Developer @ WillowTree, Inc. in Charlottesville, VA or Durham, NC
Donβt come here for a job. Come here to be a part of something meaningful.
Engineering Manager @ Sprout Social. Located in Chicago, IL
Individual Contributor meets People Management. Cross-functional mobile team. Engineering and design focused Product company.
Comment
Hello again! I hope you've enjoyed the last few weeks of guest issues but it's back to me for this week!
It's been a week of App Store drama and it started with a pretty shocking story about Uber being summoned by Apple to discuss their breaking of the App Store guidelines. They were using private APIs to get the device serial number and identify which phones had previously used Uber, even after a full wipe. Worse, they disabled this code when a device was within a radius of Cupertino, deliberately avoiding being found during review. The specifics of what they did with that data are not so important here, but would a cosy chat with the Apple CEO have happened in a situation where the app in question wasn't so important to the iOS platform? Or would it have been immediate removal from the store?
Apple have always made a point that the App Store is a level playing field for all developers and to a large extent that's been true. A 3rd party app on your home screen can get just as much prominence as any of the system apps and for a long time there was no way to artificially boost your app. Yes, now we have search ads, but they are available equally to everyone. I'm not saying it's been 100% neutral by any means, but it has mostly felt close enough for me.
I know that the world isn't fair, and I know that this was probably the right way to handle this situation given the popularity and profile of Uber. To just pull an app like that would have made huge waves and been covered by international media which certainly isn't a story Apple want. It just doesn't make me feel very good about that level playing field we were promised.
There has also been some lower profile App Store review drama, again treating smaller apps differently from high profile ones. Sean Heber from Twitterific tweeted that they had added an icon change feature using the new API, but that it was rejected for the icons being too different from the original. At the same time, the MLB app is approved and has the ability to completely change the app icon to one which represents your team. Could just be a bad decision by a reviewer, it's just not good timing with it being in the same week as the Uber story.
Finally, there's no drama here but while we're on the subject of App Store guidelines it seems that the hidden Safari View Controller trick to automatically log people into apps if they were already logged in with Safari is no longer allowed. There was a guideline added last year which I completely missed that explicitly stops this kind of behaviour.
Life is always fun on the App Store, right? π±
Dave Verwer