10. Creating and Distributing iOS Frameworks
In iOS 8, and Xcode 6, Apple provided a new project template type that allows you to create frameworks which you can use to modularize, reuse, and encapsulate your code.
You can share and reuse the framework between projects, and they’re also great to compartmentalize code or other components you might want to keep handy in order to avoid rewriting code.
In this tutorial you will learn about:
- Creating a new framework for the rings widget (similar to the Apple Watch UI component).
- Migrating existing code, and tests, that you may have.
- Importing the framework back into the app.
- Packing it up as a portable CocoaPod.
Frameworks are tremendously powerful, and don’t require you to worry about static or dynamic libraries. If you’ve been interested in reusing code between apps, or projects, give this tutorial a try. Frameworks are awesome!
9. iOS Animation Tutorial: Custom View Controller Presentation Transitions
Gone are the days of apps using standard iOS components, and APIs. In order to stand out, your application really needs to have polish, and great attention to detail.
Enter view controller presentation transitions, where you can present controllers, and screens, in interactive, unique ways compared to the default presentation mechanisms of iOS.
In this tutorial you will learn:
- How to create your own custom presentation controller animations to replace the default.
- How custom view controller transitions work.
- How to implement transition delegates.
- How to create a transition animator.
8. Getting Started with Core Data Tutorial
Most modern apps use some sort of data persistence mechanism. While very basic apps can get away with using property list files or user defaults, most applications will need some sort of database to store the user’s information.
If you are developing a new application and need to decide how to persist your data, then Core Data is the way to go!
Don’t think of Core Data as simply a database wrapper; think of it as an object graph and persistence framework. With Core Data, you don’t need to worry about talking to a SQLite database or executing raw SQL commands.
As a developer, you can stay in Swift-land, work with your database objects as first-class citizens and take advantage of multi-threading, migrations and much more with very little setup or maintenance code needed.
In this tutorial, you will learn how to model data and represent objects in Xcode’s model editor, how to set up Core Data, how to add new records into Core Data, how to fetch a set of records form Core Data, and display data using a table view.
7. Background Modes Tutorial: Getting Started
Back in 2010, Apple introduced multitasking on iOS 4. The system, however, was not very straightforward. Applications can only multitask, and run in the background, under specific use cases and in specific scenarios.
If you are looking to implement multitasking features in your applications, then this tutorial is for you. In it, you will learn how to play audio in the background, receive and respond to location updates, perform finite-length tasks (tasks that run for a limited amount of time), and perform background fetches to perhaps update data in your app from a server.
For users, these little things can go a long way towards adopting your app. If you are interested in multitasking, and backgrounding features on iOS, then check out Chris’ tutorial to learn how to get started!
6. SpriteKit Swift 3 Tutorial for Beginners
One of the first ever tutorials, originally written for Cocos2D using Objective-C, this tutorial has been updated to leverage the power of SpriteKit and Swift 3.
Swift is an incredibly powerful, easy to learn language for developing iOS, macOS, watchOS, and tvOS apps (and even applications for the server with Vapor, Kitura, and others). SpriteKit is one of the best ways to make games on iOS. It’s easy to learn, powerful, and is fully-supported by Apple.
If you are interested in getting started with SpriteKit to make games, then check this tutorial out. You will learn how to make a simple 2D game using the SpriteKit framework.
5. NSURLSession Tutorial: Getting Started
NSURLSession is the best way for your application needs to make network requests. Whether it’s downloading or uploading data for your latest social app, or updating a remote database via an HTTP request.
Network requests are a core component of almost all applications. Compared to the old NSURLConnection, NSURLSession has full support for multitasking and backgrounding in iOS (a topic covered in item 7 of this list).
In this tutorial you will learn:
- How to use NSURLSession to build the Half Tunes app.
- How to download 30-second previews of selected songs.
- How to support background transfers and let the user pause, resume or cancel in-progress downloads.
4. Firebase Tutorial: Getting Started
Firebase is a powerful mobile-backend-as-a-service that provides several features for your mobile applications.
There are three main features of Firebase you can use, all without writing a single line of server-side code:
- Realtime database
- User authentication
The realtime database feature of Firebase is one of the coolest, most unique features it offers. No longer do your users have to worry about pull-to-refresh components, or buttons. Firebase automatically pulls the latest data from the network, and updates the connected UI components.
In this tutorial, you’ll learn how to build a collaborative grocery list app that leverages the fundamental features of Firebase. In this tutorial you’ll learn about:
- Saving data to a Firebase database.
- Syncing data from Firebase in realtime.
- Authenticating users.
- Monitoring online users.
- Enabling offline support.
Firebase is a really cool tool and one that has plenty to offer. Check out this tutorial to learn how it might help you with your projects.
3. Swift Tutorial Part 1: Expressions, Variables & Constants
If you want to get started learning Swift 3, want to brush up on existing skills, or want to expand your knowledge of the language, then this tutorial is the best place to start.
Thanks to the power of Playgrounds you can very easily experiment, learn, tinker, and see what your code does. This tutorial series covers the basics of programming with Swift 3, and this first part covers the concepts of:
- Commenting code.
- Printing to the console.
- Basic arithmetic operations.
- Math functions.
- Naming data with variables, and constants.
2. Self-Sizing Table View Cells
Tables views are a core construct of almost all iOS applications. Chances are if you’ve worked on a table view, you’ve had to deal with calculating the size of your cells in order to adjust to different heights and different data.
While this approach works, and was certainly needed in the early days of iOS app development, a better approach is now available to you.
In this tutorial, you’ll learn how to create and dynamically size table view cells to fit their contents by levering the power of Auto Layout, and automatic row heights in table views..
It’s the moment you’ve been waiting for!
And the most popular iOS tutorial from the past year is…
1. UICollectionView Tutorial: Getting Started
If a table view tutorial is our number two item, it’s no surprise that a tutorial on collection views takes the number one spot.
If you’ve never used collection views, think of them as table views with super powers. With collection views you can create interfaces that go beyond vertical tables.
Collection views also connect fantastically with custom view controller transitions, and UIKit dynamics.
In this tutorial, you’ll learn about UICollectionView by creating your own grid-based photo browsing application. You will also learn the basics of using collection views, and its layouts.
There really isn’t anything you can’t build without collection views, and as a core component of iOS and UIKit, you’re most definitely going to have endless hours of fun playing around with them.
More Statistical Factoids
That’s quite the list of tutorials!
If you’re a data-head like we are, then you’ll be interested in some other neat factoids about the site that we gathered along the way:
Where Do Our Readers Come From?
Here are the top ten countries where our readers are based:
It’s pretty cool to see visitors from all over! The development community really has no political barriers and speaks all languages. We all love coding and making our ideas come to life, no matter where we come from.
If you don’t see your country in the chart above, leave a shoutout in the comments below and let us know where you’re from!
What OS Are Readers Using?
Here’s how our readers break down by OS platform:
It’s no a surprise to see macOS topping the top of the list, since that’s what most visitors use for their development tasks. It’s great to see so many Windows users. What is it you’re looking at: Blender? Unity? Android? C#? Or is it something else that brings you here? Let us know!