From: Get a verification code and sign in with two-factor authentication - Apple Support
A code is sent first to your trusted devices automatically:
"If you have a trusted device running iOS 9 and later, OS X El Capitan and later, iPadOS 13 and later, or watchOS 6 and later, the verification code is displayed automatically on your trusted devices."
If you don’t have a trusted device handy, you can choose to have a verification code sent to your trusted phone number as a text message or phone call.
1. Click "Didn't get a verification code" on the sign in screen.
2. Choose to have the code sent to your trusted phone number.
3. You'll get a text message or phone call from Apple with your verification code. This text message might include an additional domain validation line. This line includes the @ symbol, the website name, and your code (for example: @icloud.com #123456 %apple.com).
4. Enter the code on your other device to complete sign in.
"If you can’t receive a verification code on your trusted devices automatically, you can get one from Settings, even if your device is offline."
On a mobile device go to Settings > [your name] > Tap Password & Security > Get Verification Code.
On a Mac: Go to Apple menu > System Preferences [System Settings], then click Apple ID. Click Password & Security > Get Verification Code.
If you don't have, or cannot get access to, a trusted device, you can tap "Didn't get a verification code" and have it sent to a trusted number by text or voice.
You may also wish to read the articles 'Two-factor authentication for Apple ID' ( Two-factor authentication for Apple ID - Apple Support ) and 'Get a verification code and sign in with two-factor authentication' ( Get a verification code and sign in with two-factor authentication - Apple Support ). Various sections contain information that is useful in understanding about the trusted devices (an iPhone, iPad, or Mac that Apple knows is yours) system, and how to get a verification code on a trusted device or at a telephone number.