In this page you'll learn what are the most common mistakes when implementing the Notificare library for Flutter.

Switching to Production

While Android doesn't require any additional steps to ensure the development settings work in production, when you're using a single Firebase app, iOS does require different configurations. Therefore, it's recommended you always set up at least two environments in your app and at Notificare, Development and Production.

Always check if the correct NotificareServices.plist is being included in your app. Whenever you build your app directly from Xcode in a device you will be using APNS sandbox servers, so the app keys must target a Notificare DEV application. If you archive your application for Ad Hoc, App Store or Enterprise distribution you should make sure the app keys target a Notificare PROD application. Failing to set this correctly will prevent Notificare from sending notifications to the correct device tokens, since you will be registering invalid device tokens in Notificare.

Notification Service Extension

Including the NotificareNotificationServiceExtensionKit via Cocoapods works as expected when you use use_frameworks! in your Podfile.

However, including the library as dynamic linking results in two possible errors:

  • The application fails to build when the library is added to the application target but not to the extension target;
  • Or the lock screen image doesn't show when the library is only added to the extension target, which doesn't get embedded in the application.

As it currently stands, Cocoapods cannot correctly add the XCFramework as a dynamically linked framework when declared in both targets. To work around this issue, we recommend using Swift Package Manager to include NotificareNotificationServiceExtensionKit in the application.

Additional native troubleshooting

For more information on common issues when integrating the native part of our library, please take a look at the native SDKs documentation.