Shape Shape point chapter-list Group Group Group Shape Copy 12 Shape Shape Copy 3 Shape Shape dropdown editor editor Combined Shape grid Shape Copy 4 Shape Copy 7 Shape language language Shape megaphone paperback Shape platform noun_419259-2 copy play-icon BS-Question-Rounded-Circle quotes noun_610406 stacked-books-1 stacked-books-2 Group Group Group Group Group
The iOS 12 Launch Party Bundle is only available until Friday, November 2!

iOS 12 Launch Party Bundle

  • Platform iOS 12
  • Language Swift 4.2
  • Editor Xcode 10

Includes our three newest digital edition books:

  • Machine Learning by Tutorials
  • Advanced iOS App Architecture
  • Push Notifications by Tutorials

Note: Machine Learning by Tutorials and Advanced iOS App Architecture are available under an Early Access Release model. You’ll receive free updates to these two books as further chapters become available in the very near future.

Sign in to Buy → *Includes ePub, PDF and Project Files
Developer Guide


For Intermediate and Advanced iOS Developers

Take Your iOS Development to the Next Level!

Need to keep on top of modern iOS development skills and methodologies? This bundle is just what you’ve been waiting for.

Machine Learning by Tutorials is your introduction to machine learning on iOS and Apple. Learn the theory behind machine learning, then dive into training your own models, building image recognition systems, natural language processors, sequence classifiers and more!

Advanced iOS App Architecture brings the theoretical benefits of modern software architecture practices to your Swift apps. Learn the “why” behind many common iOS app architectures, and then implement those architectures in real-world applications inside the book.

Push Notifications by Tutorials shows you the most practical ways to create both remote and local notifications. Learn how to set up your project for push notifications, how to work with device tokens, handle user interactions, create custom notifications and much more.

Note: Machine Learning by Tutorials and Advanced iOS App Architecture are available under an Early Access Release model. You’ll receive free updates to these two books as further chapters become available in the very near future. Push Notifications by Tutorials is available as a complete book.

What's included

Machine Learning by Tutorials

(Subject to change)


Machine Learning: iOS & You

Before getting your hands dirty, let's look at machine learning from 10,000 ft. You'll learn what you can do with machine learning, what concepts such as deep learning really are, and what machine learning means for mobile devices.


Getting Started with Image Classification

Jump into machine by classifying healthy snacks from unhealthy ones, learning learn how to add models to a project and how you can use Core ML for classifying images from your device.


Training the Image Classifier

It's one thing to be given a model; it's a whole other to create your own. You'll learn how to use Create ML to create a model and how you can tune parameters for better classification.


Getting Started with Python & Turi Create

In this chapter, you'll set up a Python environment to use the tools of the trade when it comes to creating machine-learning models. You'll learn how to use Jupyter notebooks and Turi Create to tune and export models for Core ML.


Digging Deeper into Turi Create

Your models can always improve. You'll learn how to use transfer learning to train your model. You'll also learn how further tuning of parameters and increasing the number of iterations can affect your model.


Training with Keras

You've seen Create ML and you've seen Turi Create, now get ready to meet to Keras. In this chapter, you'll create your model from scratch using some of the lowest-level APIs available.


Beyond Image Classification

Image classification has many applications; however, the ability to also detect specific objects unlocks a whole host of possibilities. In this chapter, you'll learn how to perform localization, object detection and segmentation on images.


Sequence Classification

Machine Learning isn't limited to just images. In this chapter, you'll learn how you can take motion events from your device and use machine learning to identify the activity being performed.


Sequence Predictions

Imagine your device could accurately predict the future! OK, that might be a stretch but, in this chapter, you'll learn how you can use recurrent neural networks (RNNs) to predict the outcome of some event given a sequence of events.


NLP Classification

NLP classification has been popularized as a tool that can help categorize large bodies of text, such as identifying spam in your email or identifying related content from websites. In this chapter, you'll deep dive into training a model for use in a fun NLP classification project.


Text-to-Text Transform

If you can classify text using NLP classification, you can surely convert text as well, right? In this chapter, you'll learn the answer to that question by working on an example of how to do language translation between two languages.

Advanced iOS App Architecture

(Subject to change)



A quick introduction over what you'll be learning this book, what the goals are of this work, and what you'll need to get started.


Navigating Architecture Topics

There are a lot of aspects to consider when selecting an architecture for you and your team. This chapter provides a high-level overview of these aspects, such as qualities to look for in an architecture and more.


Example App

In this book you’ll use a fully fledged real world example application each written in the specific architectures this book will cover. The app used through this book is known as **Koober**. A sample of the application for each architecture accompanies each architecture chapter so you can see the differences between the chapters.


Managing Dependencies

We all depend on one thing or another in the real world and when architecting your applications this is no different. You’ll learn how objects depend on other object to avoid having large objects doing a lot of things instead of comparmentializing to make them more reusable and testable.


Architecture: MVVM

In this chapter, you’ll be taken through the history of **MMVM** and its concepts. You’ll then walk through the **Koober** application and explore how its been architected using the **MVVM** architecture approach.


Architecture: Redux

In this chapter, you’ll be taken through the history of Redux and its concepts. You’ll then walk through the Koober application and explore how its been architected using the Redux architecture approach.


Architecture: Elements

Elements is an architecture meant to make iOS development fun and flexible. We have defined a set of elements that make up the architecture. The cool thing is you can choose which pieces to use in your own applications. We have elements for every layer of your application, from networking to the user interface.


Where to Go From Here?

This chapter wraps up the book with references and parting thoughts.

Push Notifications by Tutorials



A quick introduction over what you'll be learning this book, and what you'll need to get started.


Push Notification Introduction

Just before diving in, learn the basics of what is a push notification, what's the flow for delivring them, and what are they useful for.


Remote Notification Payload

A push notification is constructed and delivered based on a payload structure. In this chapter you'll dive deep into all of the possibly customizations and options to this payload structure.


Xcode Project Setup

Learn how to prepare your Xcode Project so user app is capable of receiving push notifications, and registering users of your app for receiving notifications.


Apple Push Notification Servers

Learn about Apple Push Notification Servers (APNs) - Apple's service for delivering push notifications. What is a device token, and how do you test sending notifications from your own Mac?


Server Side Pushes

Delivery of remote push notifications is usually done by a remote server. Learn how to create your very own Vapor-based server to register device tokens and deliver notifications from your own server, as well as some of the optional third-party providers you could use.


Expanding the Application

Now that you have a server responsible for delivering your notifications, you'll learn how to expand your app to communicate with that server.


Handling Common Scenarios

Learn how to handle common scenarios relating to push notification such as delivering notification in the foreground, handling user interactions, silent notification, and pre-fetching content in the background when your notification is delivered to the user.


Custom Actions

Add Custom Actions to your notification, and learn how you can leverage these to take your notification interaction to the next level.


Modifying the Payload

Learn how to modify the push notification payload after it actually arrived at the user's device, letting you manipulate your notifications on-device in an extremely fine-grained way.


Custom Interfaces

Step up your notification game! Build your very own custom UI to present to your users whenever they interact with your notifications.


Putting It All Together

Combine all of the vast knowledge accumulated in the previous into building your final app - CoolCalendar.


Local Notifications

Sometimes scheduling notifications on the device itself can prove to be the right choice, instead of receiving remote notifications from an external server. Learn how to schedule local notifications on specific times, or on specific locations.

Meet the authors

Josh Berlin iOS Team
René Cacheaux iOS Team
Matthijs Hollemans iOS Team
Chris LaPollo iOS Team
Audrey Tam iOS Team
Scott Grosch iOS Team

Get the iOS 12 Launch Party Bundle

  • Machine Learning by Tutorials
  • Advanced iOS App Architecture
  • Push Notifications by Tutorials