Swift Developments is a hand-curated newsletter containing a weekly selection of the best links, videos, tools and tutorials for people interested in designing and developing their own apps using Swift.
Although the addition of introductory pricing in iOS 11.2 has allowed greater flexibility with app pricing, the introductory pricing model is not always that simple to understand or to implement. With this in mind @jeiting has written a nice overview to highlight some of the possibilities that introductory pricing introduces and help you avoid some of the pitfalls when it comes to implementing it.
App store optimisation can play an important part in getting your app noticed within the competitive environment of the App Store. In this post, Jiri Chochlik provides a data-driven look at what works and what doesn’t and provides some useful hints on where to focus your own ASO efforts.
@mhariellriel shares 10 tips for designing your users interfaces covering everything from typography to style. The tip on selecting complementary colors is ?.
With typopgraphy forming a major part of almost every iOS app design, having an understanding of basic typography and how to choose typographic elements that enhance and complement your design is critical. @iamrahza walks you through some of the basics.
Swift 4.2 Release Process
With Swift 4.2 on the horizon, @tkremenek has this week posted details of the goals, release process and estimated timescales for Swift 4.2. It’s looking like a final branch being cut at around 20th April and a “bake” period for some time after that though still no details of a final release date. The good news is that for the most part Swift 4.2 is going to be be source-compatible with Swift 4.1 (bar some bug fixes) so you shouldn’t have to do too much work to bring your Swift code bases up to date. Take a look at Ted’s post for all the details.
@twostraws takes a look at Swift’s new keypath types introduced as part of SE-0161 and shows you how they can be used in conjunction with generics, protocols and associated types to write more natural Swift code.
Xcode’s performance testing infrastructure provides a convenient way to measure the the performance of your Swift code but it’s advertised interface is somewhat limited. However @danielpunkass has been doing some digging under the hood and has come across a number of additional private metrics that you might want to use. The obvious issue is that they are part of Apple’s private APIs so come with a major health warning but as Daniel points out, it’s not unreasonable to take advantage of them in your test code as the only person who is likely to feel the pain if they don’t work is you.
This was a bit of a suprise. This week has seen Apple announcing the availability of SwiftNIO – a new open-source, cross-platform (macOS and Linux currently) asynchronous event-driven networking framework in a similar ilk to the Java-based Netty framework. I’ve been poking around it for the last couple of days and the framework itself looks great and it appears that some major projects are already jumping on board.
Storyboard provide a great way to build and visualise the navigation and relationships between view controllers in your app but their usefulness degrades signficantly when used as part of a large team due to the merge conflicts that inevitably occur. In this post, @jwkeeley looks at how some of these problems arise and provides some tips on how to avoid them along with some useful advice of how to detail with them if they do.
If you’re just getting started in iOS development or are looking to publish your first open-source repository, this article from @MrChrisBarker is one for you. CocoaPods is one of the most popular dependency managers within the Swift and iOS ecosystem and in this article, Chris walks you through the steps to create your first CocoaPod and how to make it availbale via your own private repo.
Incrementally Open Sourcing Your App
With many open-source libraries being developed as part of larger iOS projects, @anat_gilboa talks about here experiences of incrementally open sourcing a UI component that was part of a larger app and discusses some of the pros and cons of this approach.