{"id":13368611,"url":"https://github.com/firebase/FirebaseUI-iOS","last_synced_at":"2025-03-12T20:31:08.174Z","repository":{"id":34843804,"uuid":"38835282","full_name":"firebase/FirebaseUI-iOS","owner":"firebase","description":"iOS UI bindings for Firebase.","archived":false,"fork":false,"pushed_at":"2024-10-28T21:31:56.000Z","size":366160,"stargazers_count":1510,"open_issues_count":81,"forks_count":475,"subscribers_count":160,"default_branch":"main","last_synced_at":"2024-10-29T10:44:46.555Z","etag":null,"topics":["firebase","ios"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/firebase.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-07-09T17:32:23.000Z","updated_at":"2024-10-29T04:30:53.000Z","dependencies_parsed_at":"2023-09-25T04:53:51.493Z","dependency_job_id":"9f818042-0a9e-4e4b-9874-cd80e3f48c65","html_url":"https://github.com/firebase/FirebaseUI-iOS","commit_stats":{"total_commits":1418,"total_committers":82,"mean_commits":17.29268292682927,"dds":0.5980253878702397,"last_synced_commit":"f9fd2625b09058ae96992e42aa5cf54f94c9ee85"},"previous_names":[],"tags_count":108,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebase%2FFirebaseUI-iOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebase%2FFirebaseUI-iOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebase%2FFirebaseUI-iOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebase%2FFirebaseUI-iOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firebase","download_url":"https://codeload.github.com/firebase/FirebaseUI-iOS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242971821,"owners_count":20215081,"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","ios"],"created_at":"2024-07-30T01:01:02.972Z","updated_at":"2025-03-12T20:31:08.117Z","avatar_url":"https://github.com/firebase.png","language":"Objective-C","readme":"# FirebaseUI for iOS — UI Bindings for Firebase\n\n![Anonymous Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/anonymousauth.yml/badge.svg) ![Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/auth.yml/badge.svg) ![Database](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/database.yml/badge.svg) ![Email Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/emailauth.yml/badge.svg) ![Facebook Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/facebookauth.yml/badge.svg) ![Firestore](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/firestore.yml/badge.svg) ![Google Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/googleauth.yml/badge.svg) ![OAuth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/oauth.yml/badge.svg) ![Phone Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/phoneauth.yml/badge.svg) ![Storage](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/storage.yml/badge.svg) ![Samples](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/sample.yml/badge.svg)\n\nFirebaseUI is an open-source library for iOS that allows you to quickly connect common UI elements to the [Firebase](https://firebase.google.com?utm_source=FirebaseUI-iOS) database for data storage, allowing views to be updated in realtime as they change, and providing simple interfaces for common tasks like displaying lists or collections of items.\n\nAdditionally, FirebaseUI simplifies Firebase authentication by providing easy to use auth methods that integrate with common identity providers like Facebook, Twitter, and Google as well as allowing developers to use a built in headful UI for ease of development.\n\nFirebaseUI clients are also available for [Android](https://github.com/firebase/FirebaseUI-Android) and [web](https://github.com/firebase/firebaseui-web).\n\n![](https://raw.githubusercontent.com/firebase/FirebaseUI-iOS/main/samples/demo.gif)\n\n## Installing FirebaseUI for iOS\n\nFirebaseUI supports iOS 10.0+ and Xcode 11+. We recommend using [CocoaPods](https://cocoapods.org/pods/FirebaseUI), add\nthe following to your `Podfile`:\n\n```ruby\npod 'FirebaseUI', '~\u003e 8.0'       # Pull in all Firebase UI features\n```\n\nIf you don't want to use all of FirebaseUI, there are multiple subspecs which can selectively install subsets of the full feature set:\n\n```ruby\n# Only pull in Firestore features\npod 'FirebaseUI/Firestore'\n\n# Only pull in Database features\npod 'FirebaseUI/Database'\n\n# Only pull in Storage features\npod 'FirebaseUI/Storage'\n\n# Only pull in Auth features\npod 'FirebaseUI/Auth'\n\n# Only pull in Facebook login features\npod 'FirebaseUI/Facebook'\n\n# Only pull in Google login features\npod 'FirebaseUI/Google'\n\n# Only pull in Phone Auth login features\npod 'FirebaseUI/Phone'\n```\n\nIf you're including FirebaseUI in a Swift project, make sure you also have:\n\n```ruby\nplatform :ios, '13.0'\nuse_frameworks!\n```\n\nOtherwise, you can include the FirebaseUI Xcode project from this repo in\nyour project. You also need to \n[add the Firebase framework](https://firebase.google.com/docs/ios/setup) \nto your project.\n\n## Documentation\n\nThe READMEs for components of FirebaseUI can be found in their respective\nproject folders.\n\n- [Auth](FirebaseAuthUI/README.md)\n- [PhoneAuth](FirebasePhoneAuthUI/README.md)\n- [Database](FirebaseDatabaseUI/README.md)\n- [Firestore](FirebaseFirestoreUI/README.md)\n- [Storage](FirebaseStorageUI/README.md)\n\n## Local Setup\n\nIf you'd like to contribute to FirebaseUI for iOS, you'll need to run the\nfollowing commands to get your environment set up:\n\n```bash\n$ git clone https://github.com/firebase/FirebaseUI-iOS.git\n$ cd FirebaseUI-iOS\n$ cd Auth # or PhoneAuth, Database, etc\n$ pod install\n```\n\nAlternatively you can use `pod try FirebaseUI` to install the Objective-C or Swift sample projects.\n\n## Sample Project Configuration\n\nYou'll have to configure your Xcode project in order to run the samples.\n\n1. Your Xcode project should contain a `GoogleService-Info.plist`, downloaded from [Firebase console](https://console.firebase.google.com) when you add your app to a Firebase project.\u003cbr\u003e\nCopy the `GoogleService-Info.plist` into the sample project folder (`samples/obj-c/GoogleService-Info.plist` or `samples/swift/GoogleService-Info.plist`).\n\n1. Update URL Types.\u003cbr\u003e\nGo to `Project Settings -\u003e Info tab -\u003e Url Types` and update values for:\n\t+ `REVERSED_CLIENT_ID` (get value from `GoogleService-Info.plist`)\n\t+ `fb{your-app-id}` (put Facebook App Id)\n\n1. Update `Info.plist` with Facebook configuration values\n\t+ `FacebookAppID -\u003e {your-app-id}` (put Facebook App Id)\n\n1. Enable Keychain Sharing.\u003cbr\u003e\nFacebook SDK requires keychain sharing.\u003cbr\u003e\nThis can be done here: `Project Settings -\u003e Capabilities -\u003e KeyChain Sharing -\u003e ON`\n\n1. Don't forget to configure your Firebase App Database using [Firebase console](https://console.firebase.google.com).\u003cbr\u003e\nDatabase should contain appropriate read/write permissions and folders (`objc_demo-chat` and `swift_demo-chat` respectively)\n\n1. In Order to use `Phone Auth` provider you should [Configure Push Notifications](#configure-apple-push-notifications)\n\n#### Configure Apple Push Notifications\n\n##### Enable silent push notifications in Xcode\n\n  * `Push Notification` - Under `Capabilities` tab in your app target choose `Push Notifications` and put the switch to the `On` position.\n  * `Background Mode` - Under `Capabilities` tab in your app target choose `Background Modes` put the switch to the `On` position.  In the list of available modes select `Background fetch` and `Remote notifications` (If available).\n\n##### Upload APNS Certificate to Firebase\n\n1. Create your `Provisioning APNS SSL Certificates` by following the steps on the following link.\nhttps://firebase.google.com/docs/cloud-messaging/ios/certs\n\n1. Upload your `APNS Certificate` to Firebase:\n    + Inside your project in the Firebase console, select the gear icon, select `Project Settings`, and then select the `Cloud Messaging` tab.\n    + Select the `Upload Certificate` button for your development certificate, your production certificate, or both. At least one is required.\n    + For each certificate, select the `.p12 file`, and provide the password, if any. Make sure the `bundle ID` for this certificate matches the `bundle ID` of your app. Select `Save`.\n\n## Contributing to FirebaseUI\n\n### Contributor License Agreements\n\nWe'd love to accept your sample apps and patches! Before we can take them, we\nhave to jump a couple of legal hurdles.\n\nPlease fill out either the individual or corporate Contributor License Agreement\n(CLA).\n\n  * If you are an individual writing original source code and you're sure you\n    own the intellectual property, then you'll need to sign an [individual CLA]\n    (https://developers.google.com/open-source/cla/individual).\n  * If you work for a company that wants to allow you to contribute your work,\n    then you'll need to sign a [corporate CLA]\n    (https://developers.google.com/open-source/cla/corporate).\n\nFollow either of the two links above to access the appropriate CLA and\ninstructions for how to sign and return it. Once we receive it, we'll be able to\naccept your pull requests.\n\n### Contribution Process\n\n1. Submit an issue describing your proposed change to the repo in question.\n1. The repo owner will respond to your issue promptly.\n1. If your proposed change is accepted, and you haven't already done so, sign a\n   Contributor License Agreement (see details above).\n1. Fork the desired repo, develop and test your code changes.\n1. Ensure that your code adheres to the existing style of the library to which\n   you are contributing.\n1. Ensure that your code has an appropriate set of unit tests which all pass.\n1. Submit a pull request\n","funding_links":[],"categories":["Objective-C","Helpers","Swift"],"sub_categories":["Reference"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirebase%2FFirebaseUI-iOS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirebase%2FFirebaseUI-iOS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirebase%2FFirebaseUI-iOS/lists"}