Book Image

Animating SwiftUI Applications

By : Stephen DeStefano
Book Image

Animating SwiftUI Applications

By: Stephen DeStefano

Overview of this book

Swift and SwiftUI are the backbone of Apple application development, making them a crucial skill set to learn. Animating SwiftUI Applications focuses on the creation of stunning animations, making you proficient in this declarative language and employing a minimal code approach. In this book, you'll start by exploring the fundamentals of SwiftUI and animation, before jumping into various projects that will cement these skills in practice. You will explore some simple projects, like animating circles, creating color spectrums with hueRotation, animating individual parts of an image, as well as combining multiple views together to produce dynamic creations. The book will then transition into more advanced animation projects that employ the GeometryReader, which helps align your animations across different devices, as well as creating word and color games. Finally, you will learn how to integrate the SpriteKit framework into our SwiftUI code to create scenes with wind, fire, rain, and or snow scene, along with adding physics, gravity, collisions, and particle emitters to your animations. By the end of this book, you’ll have created a number of different animation projects, and will have gained a deep understanding of SwiftUI that can be used for your own creations.
Table of Contents (18 chapters)

Adding sound effects

We already added sound in Chapter 4, when building the record player project, and there’s nothing complicated about it.

First, start by creating a Swift file (just a Swift file, not a SwiftUI View one), and call it PlaySound. Next, drag the M4A sound effects file called buoyBells (which you can find on GitHub) and place it into the file navigator.

Inside the PlaySound file, the first thing we need to do is import the AVFoundation framework:

import AVFoundation

The AVFoundation framework gives us access to all the classes and methods needed to add audio to a project.

Next, create an audioPlayer object to play our sound file:

var audioPlayer: AVAudioPlayer?

This audioPlayer object is optional, which you can tell by the question mark at the end. It needs to be optional because the sound file may not exist for whatever reason – maybe the file gets corrupted, or the sound file has been downloaded from a server and the internet has...