Sponsored Link
Improve your engineering team's velocity with these 3 metrics
If you're an engineering leader or your business depends on software (hint: it does) you're probably spending a lot of time thinking about DevOps. We analyzed build data from software organizations of all sizes to learn...
News
CloudKit: Structured Storage for Mobile Applications
Ever wondered how CloudKit actually works? This newly published academic paper goes through the details of how this platform which has nearly a billion active users was designed from the ground up for fast iteration and reliability.
New ClassKit framework for educational apps 🎓
Apple hasn't said anything official about ClassKit yet, but iOS 11.3 beta 2 includes some code that points toward this new framework that allows developers of education apps to enhance their apps for the classroom. If we don't hear anything specifically about this by the iOS 11.3 GM, I expect we will hear a lot about it at WWDC 2018.
Tools
Edit Breakpoints in Xcode
Breakpoints are extremely powerful, but how many of us use them just to freeze the app and use the debugger? This article spotlights some useful utilities hidden in the breakpoint menu that will take your debugging skills to the next level!
Code
Lightweight persistence in iOS shouldn’t be that hard
In this post, Oleg Dreyman introduces Shallows, a simple caching library for iOS. I really like how this library hides so much of the implementation details so that you don't have to worry about them. If you have caching needs in your app, definitely give Shallows and this blog post a look. 🏖
Swift 4.1 improves Codable with keyDecodingStrategy
The difference between camelCase
🐪 and snake_case
🐍 usually doesn't make a difference on iOS because we rarely deal with anything but camelCase
– but JSON is the main exception. Swift 4's support for JSON made it difficult to convert between these two styles, but rest assured! Swift 4.1 introduces a new change to JSON decoding to make this easier.
MessageViewController
Ryan Nystrom open-sourced this project which makes customizing messaging interfaces much easier. With built-in support for versatile autocompletion, you too can bring a Slack-like name or emoji suggestion engine to your apps. MessageViewController's flexibility will let you build the best interface to improve your app's experience – check it out!
Top-down iOS error architecture
What's the best way to handle non-trivial errors in an app? Bartosz Polaczyk argues that a system that passes the error from the AppDelegate downward, rather than in the opposite direction, is the best approach. His solution, which requires no imported frameworks and is flexible to each app's specific needs, looks like a great idea to model after. 🏢
Design
Why Your App Looks Better in Sketch
Developers working with designers know that Sketch and iOS don't always match up. A design made in Sketch just doesn't always look the same on iOS – buy why is that? Nathan Gitter analyzes a few of the main areas in which rendering is different so you can anticipate these inconsistencies as a developer or a designer.
Smart Strokes Interface Iteration
I love this analysis of the design process behind the most recent update to Pixelboard. Detailing intermediate steps along the way and the thought process leading them to their final result, there's a lot to learn from this great article. 💎
Business and Marketing
Ultimate Guide To App Monetization💰
Making money from apps is one of the biggest questions indie developers face – so what are our options? This extremely comprehensive resource talks about almost every single tool we have to make money. Listing the pros and cons of each method, as well as effective ways of utilizing them, check out this post next time you're thinking about increasing revenue.
Sponsored Jobs
Mobile Engineer, Expensify, San Francisco, CA and/or Portland, OR.
We're looking for mobile engineers who are passionate about the product they're building.
iOS Engineer @ Scoop
Join Scoop in bringing convenient and enjoyable carpooling to commuters across the nation!
Senior iOS Engineer at Braze (formerly Appboy) in New York City
Building SDKs that humanize the world's best apps and sites.
Comment
This week saw a little potential controversy as Apple started cracking down on some apps that use emojis in screenshots, and in the apps themselves. While Apple has every right to control what is on the App Store and how people use their emoji, I don't see how this decision is good for anyone, including Apple.
Emoji allow users to be more expressive and users absolutely ❤️them, and more and more developers were using them for the same reasons. By restricting the use of Emoji in apps to strictly user input, Apple is curbing creativity on its platform in a way that will make many apps worse for no clear benefit.
One of the original apps in question did eventually get through App Review, so it's still not clear if this is a policy change or a decision made by one reviewer which was later corrected. It'll be interesting to see how this situation evolves over the next few weeks/months.
Evan Dekhayser