Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

'No APNS token specified' error getting token on iOS

Open
#221 22 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
28/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
firebase, ios, typescript
Domain
mobile-dev

Research direction

Start by tracing the firebase().messaging().registerDeviceForRemoteMessages() and getToken() calls in the reported firebaseInitialization flow, using the documented GoogleService-Info.plist and app.entitlements setup as context. Check why isDeviceRegisteredForRemoteMessages remains false on iOS. Done means device registration succeeds and getToken() returns an FCM token without the APNS-token error.

Written by the indexing model from the issue text.

Description

I have an issue using this plugin on iOS. I receive this error when trying to get Firebase token:

No APNS token specified before fetching FCM Token

I put GoogleService-Info.plist and app.entitlements in app/App_Resources/iOS as described in the documentation
I tried both with xcode 14.3.1 and 15.0-beta

these are the dependencies in package.json:

@nativescript/ios: 8.5.2
@nativescript/types: 8.5.0
@nativescript/core: 8.5.5
@nativescript/firebase-core: 3.1.0
@nativescript/firebase-messaging: 3.1.0

And this is the function called when the application is started:

async function firebaseInitialization() {
    console.log("firebaseInitialization: start firebase registering");
    const defaultApp = await firebase().initializeApp();
    console.log("firebase initialized");
    console.log("request for permission");
    const enabled = await requestUserPermission()
    try {
        if (enabled) {
            firebase().messaging().showNotificationsWhenInForeground = true         
            console.log("trying to get current token")
            const token = await firebase().messaging().getToken()
            console.log("current token: " + token)
            //rest of the code
            ...
        }
    } catch (e) {
        console.log("ERROR: " + e) //<-- the error is catched here
    }
}


async function requestUserPermission() {
    const authStatus = await firebase()
        .messaging()
        .requestPermission({
            ios: {
                alert: true,
            },
        });
    const enabled = authStatus === AuthorizationStatus.AUTHORIZED || authStatus === AuthorizationStatus.PROVISIONAL;
    if (enabled) {
        console.log('Push notification authorized')
        const didRegister = await firebase().messaging()
                .registerDeviceForRemoteMessages();
        return true
    } else {
        console.log('Push notification NOT authorized')
        return false
    }
}

This is the console output:

firbaseInitialization: start firebase registering
firebase initialized
request for permission
Push notification authorized
trying to get current token
ERROR: Error: No APNS token specified before fetching FCM Token

I seem to have done everything that is requested in the documentation. Any idea?

EDIT:
I tried to wrap the registerDeviceForRemoteMessages call in a try-catch statement. No exception is thrown, but after that, the registration status, checked with firebase().messaging().isDeviceRegisteredForRemoteMessages, is false

Dominant language
TypeScript
Stars
62
Forks
53
Avg merge
8d 4h
Merged PRs (30d)
2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from NativeScript/firebase

All issues in NativeScript/firebase

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.