Sponsored Link
Automate the mindless tasks of app development with Bitrise
Bitrise automates build, test and deployment for Foursquare, Fox, InVision, Grindr, and the community of 40K+ developers. Craft powerful workflows with 170+ integrations and run the same config locally with our CLI. Sign up to Bitrise and deploy your iOS app in minutes.
News
Allowing Users to Manage their Data in iCloud
GDPR is coming, and it very probably affects you if you write software. This week Apple published a couple of guides on what you need to do if you use iCloud as a back end.
Swift Static Libraries in CocoaPods 1.5
I've been wondering if this would become a thing ever since Xcode 9 added support for it. CocoaPods 1.5, released this week, now includes the ability to link your pods statically. The main advantage of this is that it significantly speeds up the launch time of your app if you use a lot of dynamic frameworks. But also, this makes it feasible to use pods when developing Swift command line tools, which I have hoped would happen for a long time! 🎉
fastlane.ci
Another big open source release this week for fastlane with the first alpha of their CI solution. Obviously this is still early days, but it's usable as of now. If you want a self-hosted, fastlane powered CI setup then off you go! Oh, and if you already use fastlane (of course you do!) then it should fit right in. This'll be a great project to watch as it gets closer to a full release.
Tools
Storytime
The app is interesting, but the open source framework is probably more so than the app. Parse and render storyboard files with this Objective-C framework.
Code
MerchantKit
Dealing with in-app purchases has never been particularly simple and in almost every example I've ever come across, includes writing at least some level of wrapper code around the official APIs. Benjamin Mayo has put this library together to do the wrapping for you, it's very early days but this could be interesting.
Swift Tip: Capture Lists
Really interesting tip from Matt Gallagher here. I had never considered that this could be used to avoid capturing self in every closure. This is great, practical advice.
Visual Programming Language
I know it's not fair to only link to one WWDC scholarship submission, but I really couldn't help it as this project by Nathan Flurry is amazing. I'd love to see more examples of the things that were submitted though, or if anyone wants to blog a nice round up of them, there's a great way to submit a link to me right here.
Business and Marketing
iOS Developers Ship Fewer Apps In 2017, The First Ever Decline
I feel like I need to link to this article because of the amount of coverage it got this week. I didn't find it as surprising as some did though!
It's been a very long time since the number of apps in the App Store mattered and I'd much rather have a (vastly) smaller number of great apps than millions of average ones. Even the data about non-native app frameworks being on the decline is not really painting a clear picture as there's no information about how non-native apps were detected. If this is purely the decline of web based frameworks like Cordova then I'm not surprised at all, but if it also includes things like Xamarin/React Native then the data is a bit more interesting. Still worth reading though!
UPDATE: This post has now been updated with more detail on how the native/non-native split was determined.
Up to Speed
Making sense of Auto Layout
You probably know a bit about Auto Layout even if you're just getting started with iOS development, but there's a lot you probably don't know too. Axel Kee has put together a great set of guides covering everything from the days before Auto Layout and how the layout engine works, to correcting errors and dealing with conflicting constraints. This is a great set of articles if you're just getting up to speed.
Videos
iOSCon 2018 Videos
iOSCon was only a couple of weeks ago but already, the videos are available. Enjoy all the full talks, and the lightning talks that happened at the event. 🎉
Comment
Swift 4.1, Xcode 9.3 and iOS 11.3! It was a new goodies week for sure but there was one feature that kinda snuck up on us all. iOS 11.3 now includes support for Progressive Web Apps.
But thankfully this is not really a return to the sweet solution because PWA's can be stored offline and installed to the home screen. Of course, they do only get access to web APIs which means none of the native fun stuff like running stuff in the background, push notifications, or anything else that a web app can't do. If you want to read more, Maximiliano Firtman has a good summary.
It's an interesting footnote on the release, but I'm not shocked that they didn't make a big deal of it. There'll be some developers that use it, but the App Store is going nowhere.
Dave Verwer