{"id":13496759,"url":"https://github.com/compnerd/swift-firebase","last_synced_at":"2025-04-07T12:10:03.776Z","repository":{"id":184243142,"uuid":"671548331","full_name":"compnerd/swift-firebase","owner":"compnerd","description":"Swift Interface for Firebase","archived":false,"fork":false,"pushed_at":"2024-12-04T17:45:46.000Z","size":189,"stargazers_count":77,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-28T19:13:03.943Z","etag":null,"topics":["firebase","firebase-auth","swift","windows"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/compnerd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-27T15:11:13.000Z","updated_at":"2025-03-13T19:41:43.000Z","dependencies_parsed_at":"2024-06-24T23:54:17.024Z","dependency_job_id":"a8af2663-43ac-4509-992d-f33c2aae66d0","html_url":"https://github.com/compnerd/swift-firebase","commit_stats":null,"previous_names":["compnerd/swiftfirebase","compnerd/swift-firebase"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compnerd%2Fswift-firebase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compnerd%2Fswift-firebase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compnerd%2Fswift-firebase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compnerd%2Fswift-firebase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/compnerd","download_url":"https://codeload.github.com/compnerd/swift-firebase/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247648977,"owners_count":20972945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["firebase","firebase-auth","swift","windows"],"created_at":"2024-07-31T19:01:58.934Z","updated_at":"2025-04-07T12:10:03.743Z","avatar_url":"https://github.com/compnerd.png","language":"Swift","funding_links":[],"categories":["Swift"],"sub_categories":[],"readme":"# SwiftFirebase\n\nSwift bindings for [firebase-cpp-sdk](https://github.com/firebase/firebase-cpp-sdk), loosely modelled after the iOS APIs.  It serves as both exploration of the C++ Interop as well as a means of using Firebase on Windows from Swift.\n\n## Requirements\n\nThe Swift interface to Firebase is built upon the [Firebase C++ SDK](https://github.com/firebase/firebase-cpp-sdk).  As a result, the package requires that the C++ SDK is available and distributed to the clients.  The package expects that the firebase SDK is present in the root of the source tree under `third_party/firebase-development/usr`.\n\nAs of 2023-08-10, the Firebase SDK requires some changes to support the Swift/C++ interop.  The changes for this are available [here](patches/0001-Add-a-couple-of-workarounds-for-Swift-on-Windows.patch).  This has sent upstream as [firebase/firebase-cpp-sdk#1414](https://github.com/firebase/firebase-cpp-sdk/pull/1414).\n\n## Setup\n\n### Prerequisites\n\n0. Make sure you have a Swift toolchain that supports C++ interop.\n1. Download the lastest build of the Firebase C++ SDK from https://github.com/thebrowsercompany/firebase-cpp-sdk/tags, click on the tag and then download the pre-build artifacts. These will be called `firebase-windows-amd64.zip` or `firebase-windows-arm64.zip` depending on which architecture you'd like to build for.\n3. Run `md third_party\\firebase-development` to create the directory where we will extract the Firebase C++ SDK release that was just downloaded\n4. Extract the Firebase C++ SDK release into the `third_party\\firebase-development` directory that was just created.\n5. Modify the `Examples\\FireBaseUI\\Resources\\google-services.json` file to include the correct values from Firebase.\n\n\u003e [!TIP]\n\u003e It can be useful to mark the `google-services.json` file as assumed unchanged so you don't accidentially check it in with real credentials. To do that, you can run the following: `git update-index --assume-unchanged .\\Examples\\FireBaseUI\\Resources\\google-services.json`\n\n### Building\n\n#### SwiftPM\n\nAssuming a build of firebase is available in the top level under `third_party\\firebase-development\\usr`, the package should build as a standard SPM package using:\n```powershell\nswift build\n```\n\nA demo application is included as a sample and requires some additional setup due to the auxiliary files needing to be deployed.\n```powershell\nswift build --product FireBaseUI\ncopy Examples\\FireBaseUI\\Info.plist .build\\debug\\\ncopy Examples\\FireBaseUI\\FireBaseUI.exe.manifest .build\\debug\\\nswift run\n```\n\n#### CMake\n\nAssuming a build of firebase is available in the top level under `third_party\\firebase-development\\usr`, the package should build as a standard CMake package using:\n```powershell\ncmake -B out -G Ninja -S .\n```\n\nYou should be able to run the demo application subsequently by just launching it as:\n```powershell\n.\\out\\bin\\FireBaseUI.exe\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompnerd%2Fswift-firebase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcompnerd%2Fswift-firebase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompnerd%2Fswift-firebase/lists"}