# Capacitor Firebase Authentication iOS RuntimeError (Keychain Sharing is already enabled)

**URL:** <https://forum.ionicframework.com/t/capacitor-firebase-authentication-ios-runtimeerror-keychain-sharing-is-already-enabled/249929>\
**Category:** Capacitor\
**Created:** [November 10, 2025, 7:36pm UTC](https://forum.ionicframework.com/t/capacitor-firebase-authentication-ios-runtimeerror-keychain-sharing-is-already-enabled/249929 "2025-11-10T19:36:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ser6iom](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/ser6iom/32/149693_2.png) [@ser6iom](https://forum.ionicframework.com/u/ser6iom)\
**Post date:** [November 10, 2025, 7:36pm UTC](https://forum.ionicframework.com/t/capacitor-firebase-authentication-ios-runtimeerror-keychain-sharing-is-already-enabled/249929/1 "2025-11-10T19:36:19Z")

</div>

I’m developing a Capacitor game and using the `@capacitor-firebase/authentication` plugin. It works perfectly on Android, but on iOS, the app hangs at the loading screen.

In the Xcode logs, I can see my web app’s JavaScript logs (`console.log`) executing correctly, including my log for “[BOOT] Firebase inicializado OK”.

However, immediately after the app loads, I get a fatal native error:

```auto
⚡️ Loading app at capacitor://localhost...
[FirebaseAuthentication] <CapacitorFirebaseAuthentication.RuntimeError: 0x6000002742c0>
...
(My JS logs appear much later)
...
⚡️ [log] - [BOOT] Firebase inicializado OK
⚡️ WebView loaded

```

The app freezes because the native authentication plugin crashes, even though the web part of Firebase initializes.

* * *

### **What I Have Tried (Checklist)**

I have followed every troubleshooting guide, and my configuration appears to be 100% correct:

1. **Keychain Sharing:** The **“Keychain Sharing”** capability is **enabled** in “Signing & Capabilities” for my App target. \*

2. **`GoogleService-Info.plist`:**

3. **Bundle ID Match:**

4. **Clean Build:** I have performed a “nuclear clean” multiple times:

5. **Diagnostic Test:** I added a check in `AppDelegate.swift` right after `FirebaseApp.configure()`:

### **The Question**

Given that `FirebaseApp.configure()` is successful, why is the `FirebaseAuthentication` plugin _still_ throwing a `RuntimeError` immediately on launch?

It seems to be a **`Keychain Sharing`** problem, but my configuration looks correct. Is there a project cache, build setting, or provisioning profile issue that could cause Xcode to _show_ the capability but not actually _apply_ it in the build, leading to this `RuntimeError`?
