'How does Firebase App Check using iOS DeviceCheck work?

I recently decided to enable App Check on Firebase for an iOS app I have running for a small <300 user group. For iOS projects Firebase has two options for App Check DeviceCheck and App Attest. I was able to turn DeviceCheck on without problems by uploading my Auth Key from my Apple Developer account. Everything seems to work without problems but I am not understanding what exactly is happening under the hood as the Firebase documentation only explains how to set it up and I want to make sure it is working correctly.

Could someone explain to me how Device Check works in this scenario with Firebase and how it is different from iOS App Attest that Firebase also supports?

Firebase iOS App Check Documentation:

Firebase App Check DeviceCheck Guide

Firebase App Check App Attest Guide



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source