Persistent Firebase App Check Issue on iOS (Despite Full Compliance with Docs)

Feedback

Hello FlutterFlow Team,

I've been encountering a critical issue with Firebase App Check on iOS for the past few days. Despite strictly following your documentation and testing across multiple configurations, App Check is still blocking requests — particularly Authentication — on iOS devices.

Here's a complete summary of what I've tried and verified:


✅ Project Configuration:

  • App Check is enabled in Firebase Console.

  • AppleProvider.appAttestWithDeviceCheckFallback is set inside firebase_app_check_util.dart:

    dart

    CopierModifier

    appleProvider: AppleProvider.deviceCheck,

  • DeviceCheck has been:

    • Enabled in Apple Developer Console (in App ID).

    • Enabled in Firebase Console as the App Check provider.

  • The iOS app is correctly signed and built via Xcode using a valid provisioning profile.

  • GoogleService-Info.plist is valid and properly integrated.

  • Firebase APIs are correctly allowed in Google Cloud (as per FF-generated key).

  • The app builds successfully and works on Android.


🔁 Custom actions and overrides:

  • We implemented a custom action: setupFirebaseAppCheck() which calls initializeFirebaseAppCheckOverride(), but even with or without this action, iOS requests remain blocked.

  • App Check metrics show ~70% invalid requests for Authentication on iOS (while Android is fine).


🔬 Additional Attempts:

  • Rebuilt the app several times after each config update.

  • Verified all relevant API keys, OAuth2 clients, and Firebase project settings.

  • Tested fallback to debug mode and App Check test tokens.

  • Attempted both App Attest and DeviceCheck independently.


❌ Persistent Issue:

Authentication always fails on iOS, producing a [error] on the login screen, and Firebase App Check rejects requests, even though the setup matches FlutterFlow’s documentation and Firebase’s native iOS guide.

We suspect FlutterFlow might not properly inject or support the native iOS App Check flow when exporting or deploying the app — especially when bypassing your internal App Check toggle with custom code.


🔧 Request:

Please help us clarify:

  1. Does FlutterFlow currently support AppleProvider.deviceCheck or appAttestWithDeviceCheckFallback in production builds on iOS?

  2. Is the internal FlutterFlow App Check toggle required, or can it conflict with custom activation?

  3. Could there be a bug in how FlutterFlow packages iOS builds or firebase_app_check_util.dart?

  4. Are there additional undocumented steps needed for iOS App Check support?

This is blocking release to TestFlight and App Store.

We’re open to sharing additional logs or project details if needed.

Thank you in advance for your assistance.

Best regards,

5
2 replies