Design+Code logo

Quick links

Suggested search

Add Firebase

Make sure you already have Firebase enabled in your project. Read the Firebase Auth section of this handbook to learn how to set up Firebase in your SwiftUI project. When adding the package to your project (https://github.com/firebase/firebase-ios-sdk.git), make sure you check the FirebaseMessaging and FirebaseAnalytics options so you can connect to Firebase Cloud Messaging in your app.

Screen Shot 2021-03-04 at 10.55.06 AM

Apple Developer Program

Before we continue, make sure that you are part of the Apple Developer Program, as some features aren't available to free users. You can check your program type by going to your Apple Developer Account > Membership. If you aren't part of it, you can enroll here.

Get an APNs Authentication key

In order to be able to send push notifications to your users, you'll need to create an Apple Push Notifications service key. To do so, navigate to https://developer.apple.com/account to access your Developer account.

Click on Certificates, Identifiers & Profiles > Keys and add a new key by clicking on the blue + sign next to the Keys title. Enter a key name, check the Apple Push Notifications service (APNs) option, then download you APNs Authentication Key - save it in a secure place, as you'll need it later and it's a one-time download only!

You are allowed a maximum of two Keys for APNs. If you have already reached the maximum, revoke an old key that you're not using and create a new one.

Screen Shot 2021-03-04 at 10.53.26 AM

Link Firebase Cloud Messaging to your Authentication Key

Using the APNs Authentication Key we just created at the step above, we'll need to link it to Firebase Cloud Messaging. To do so, head on to your project's Firebase console. Next to Project Overview, click on the gear icon > Project settings. Click on Cloud Messaging and scroll down to iOS app configuration.

Screen Shot 2021-03-04 at 11.08.51 AM

Under APNs Authentication Key, click on Upload and upload the .p8 file you just downloaded at the step above. The name of the required file is something like AuthKey_28D9YRGAO03.p8.

Screen Shot 2021-03-04 at 11.10.14 AM

You'll also need to provide your Key ID and Team ID.

Find the Key ID in your Apple Developer Account, under Certificates, IDs & Profiles > Keys. Click on YourKeyName, and you'll find your Key ID there.

Find the Team ID under Membership in your Apple Developer Account.

Add capabilities to your project

Next, you'll need to add capabilities to your project so you can send notifications to your users. Make sure that you are part of the Apple Developer Program, as some capabilities aren't available to free users. Check the available capabilities for your account type here.

If all is set and you're under the Apple Developer Program, head back to your Xcode project and navigate to your App > iOS > Signing & Capabilities. Add a new capability by clicking on + Capability.

Add Push Notifications and Background Modes to your project. Under Background Modes, check Background fetch and Remote notifications. This will allow us to send notifications from our server (Firebase Cloud Messaging) to the user.

Screen Shot 2021-03-05 at 10.42.42 AM When everything is set up, you can move on to the next section to learn how to create an AppDelegate and start sending test notifications from Firebase Cloud Messaging to your device!

Learn with videos and source files. Available to Pro subscribers only.

Purchase includes access to 50+ courses, 320+ premium tutorials, 300+ hours of videos, source files and certificates.

BACK TO

Search Feature

READ NEXT

Push Notifications Part 2

Templates and source code

Download source files

Download the videos and assets to refer and learn offline without interuption.

check

Design template

check

Source code for all sections

check

Video files, ePub and subtitles

Videos

Assets

ePub

Subtitles

1

Firebase Auth

How to install Firebase authentification to your Xcode project

8:18

2

Read from Firestore

Install Cloud Firestore in your application to fetch and read data from a collection

8:01

3

Write to Firestore

Save the data users input in your application in a Firestore collection

5:35

4

Join an Array of Strings

Turn your array into a serialized String

3:33

5

Data from JSON

Load data from a JSON file into your SwiftUI application

5:08

6

HTTP Request

Create an HTTP Get Request to fetch data from an API

6:31

7

WKWebView

Integrate an HTML page into your SwiftUI application using WKWebView and by converting Markdown into HTML

5:25

8

Code Highlighting in a WebView

Use Highlight.js to convert your code blocks into beautiful highlighted code in a WebView

5:11

9

Test for Production in the Simulator

Build your app on Release scheme to test for production

1:43

10

Debug Performance in a WebView

Enable Safari's WebInspector to debug the performance of a WebView in your application

1:57

11

Debug a Crash Log

Learn how to debug a crash log from App Store Connect in Xcode

2:22

12

Simulate a Bad Network

Test your SwiftUI application by simulating a bad network connection with Network Link Conditionner

2:11

13

Archive a Build in Xcode

Archive a build for beta testing or to release in the App Store

1:28

14

Apollo GraphQL Part I

Install Apollo GraphQL in your project to fetch data from an API

6:21

15

Apollo GraphQL Part 2

Make a network call to fetch your data and process it into your own data type

6:43

16

Apollo GraphQL Part 3

Display the data fetched with Apollo GraphQL in your View

5:08

17

Configuration Files in Xcode

Create configuration files and add variables depending on the environment - development or production

4:35

18

App Review

Request an app review from your user for the AppStore

5:43

19

ImagePicker

Create an ImagePicker to choose a photo from the library or take a photo from the camera

5:06

20

Compress a UIImage

Compress a UIImage by converting it to JPEG, reducing its size and quality

3:32

21

Firebase Storage

Upload, delete and list files in Firebase Storage

11:11

22

Search Feature

Implement a search feature to filter through your content in your SwiftUI application

9:13

23

Push Notifications Part 1

Set up Firebase Cloud Messaging as a provider server to send push notifications to your users

5:59

24

Push Notifications Part 2

Create an AppDelegate to ask permission to send push notifications using Apple Push Notifications service and Firebase Cloud Messaging

6:30

25

Push Notifications Part 3

Tie everything together and test your push notifications feature in production

6:13

26

Network Connection

Verify the network connection of your user to perform tasks depending on their network's reachability

6:49

27

Download Files Locally Part 1

Download videos and files locally so users can watch them offline

6:05

28

Download Files Locally Part 2

Learn how to use the DownloadManager class in your views for offline video viewing

6:02

29

Offline Data with Realm

Save your SwiftUI data into a Realm so users can access them offline

10:20

30

HTTP Request with Async Await

Create an HTTP get request function using async await

6:11

31

Xcode Cloud

Automate workflows with Xcode Cloud

9:23

32

SceneStorage and TabView

Use @SceneStorage with TabView for better user experience on iPad

3:52

33

Network Connection Observer

Observe the network connection state using NWPathMonitor

4:37

34

Apollo GraphQL Caching

Cache data for offline availability with Apollo GraphQL

9:42

35

Create a model from an API response

Learn how to create a SwiftUI model out of the response body of an API

5:37

36

Multiple type variables in Swift

Make your models conform to the same protocol to create multiple type variables

4:23

37

Parsing Data with SwiftyJSON

Make API calls and easily parse data with this JSON package

9:36

38

ShazamKit

Build a simple Shazam clone and perform music recognition

12:38

39

Firebase Remote Config

Deliver changes to your app on the fly remotely

9:05