Open ebiscardi opened 1 year ago
Interesting. Having similar issue with FCM Messaging on iOS as well.
My entitlements file contains the correct aps entitlement:
<key>aps-environment</key>
<string>development</string>
await firebase().messaging().registerDeviceForRemoteMessages()
.then((resolved) => {
console.log("FCM Register Device Result: ", resolved);
},(error) => {
console.warn("FCM Register Device ERROR: ", error);
});
Keep getting error on the registerDeviceFroRemoteMessages call.
Error in application:didFailToRegisterForRemoteNotificationsWithError: no valid “aps-environment” entitlement string found for application
After taking a look at the .entitlements file under platforms/ios, the aps entitlement is now missing. So it seems that our custom entitlements are not being merged.
What is the name of the entitlements file located at "App_Resources\iOS\"? Make sure it is "app.entitlements". I'm not sure but I think this might have changed were it used to be "the-name-of-the-app.entitlements" instead of just "app.entitlements".
Correct. I had to rename it to app.entitlements 👍 now its merging during build and the device is being registered with fcm.
Getting same error when updating the plugin to the latest .. I had already app.entitilments
!
Try to accept the licence agreement changes .. make a fresh install .. that worked for me
it seems that you need to add this to you Info.plist
:
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
I'm migrating my project to use the new firebase plugins and am receiving this same error message. I've included all the items listed above. This was working with the older plugin, so I have the APNS key defined in the firebase console. The specific error message is
Error: The operation couldn’t be completed. No APNS token specified before fetching FCM Token
@dlcole ns clean && ns run
?? for me it was FirebaseAppDelegateProxyEnabled
that fixed the issue
@kefahB I tried that and noticed this error:
error: Provisioning profile "iOS Team Provisioning Profile: tech.govia.rrr" doesn't include the UIBackgroundModes entitlement. (in target 'rrr' from project 'rrr')
I'll generate a new provisioning profile and see if that does the trick.
@dlcole this is another issue now, you should generate a new provision profile with the UIBackgroubdModes then install it
@kefahB Well, still no luck. I edited my ID to check the capabilities. I have Associated Domains and Push Notifications checked. I didn't see anything else pertinent.
While chasing this issue I had earlier added these lines to my app.entitlesments file:
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
I commented-out these lines, cleaned and ran, and still received the same APNS error message. Any suggestions for next steps?
It is a known issue on Xcode, open your project with Xcode and toggle 2 times Automatic configuration and build even if Xcode show an error msg about the profile
@kefahB - OK, I'm game, just trying to understand what you're suggesting. I don't see "Automatic configuration" as an option anywhere. I did toggle "Background processing" several times, built, and ran on an iOS emulator from Xcode and received the same APNS error. I'm running Xcode 14.3.
Upon further testing I have found that adding
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
to info.plist is sufficient to bypass the APNS error on iOS devices, but not iOS emulators.
BUT, I have also found that this changes causes a hang in the login process. In particular,
let idp = await firebase().ui().show({ providers: [new PhoneProvider()] });
yields this sequence:
Might some type of Firebase AppDelegate be required for phone authentication? I'll open a separate issue for tracking.
You may try to edit the delegate to set manually the apns token ´´´ts
applicationDidRegisterForRemoteNotificationsWithDeviceToken(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { fierbase().messaging().apnsToken = deviceToken; // maybe setApnsToken() }
´´´
@kefahB - I closed issue 231, finding that simply invoking getAPNSToken()
prior to getToken()
is sufficient to avoid the error documented in this issue, without having to modify info.plist
. Much thanks for your help and timely responses!
Same issue here but on Simulator, Should this works on Simulator at all?
You'll always see this error on a simulator.
Ok... I've found out that it actually the messaging doesn't work on Simulator.
FCM messages can be sent to real Android/iOS devices and Android emulators. iOS simulators however do not handle cloud messages.
It state here : https://docs.nativescript.org/plugins/firebase-messaging.html#intro
This issue can occur if you are not having the provision profile you created from Apple Developer account. You need have those installed in the system you're working.
Guys, I need help related to this question. No matter what I do, regadless of wha i select https://developer.apple.com/account/resources/identifiers/list i just can't get rid of "Provisioning profile "xxx" doesn't include the UIBackgroundModes entitlement.". BUT, there is physically no such item "Background Modes" or alike. `i killed the entire day on this, please help! PLEASE!
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:
And this is the function called when the application is started:
This is the console output:
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 withfirebase().messaging().isDeviceRegisteredForRemoteMessages
, is false