Skip to content

Commit a076f65

Browse files
chore: clean up root files
1 parent 7785568 commit a076f65

File tree

5 files changed

+44
-101
lines changed

5 files changed

+44
-101
lines changed

FirebaseUI.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,4 @@ FOUNDATION_EXPORT const unsigned char FirebaseUIVersionString[];
2424

2525
#import <FirebaseDatabaseUI/FirebaseDatabaseUI.h>
2626
#import <FirebaseFirestoreUI/FirebaseFirestoreUI.h>
27-
#import <FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUI.h>
28-
#import <FirebaseAuthUI/FirebaseAuthUI.h>
29-
#import <FirebaseEmailAuthUI/FirebaseEmailAuthUI.h>
30-
#import <FirebaseFacebookAuthUI/FirebaseFacebookAuthUI.h>
31-
#import <FirebaseGoogleAuthUI/FirebaseGoogleAuthUI.h>
32-
#import <FirebaseOAuthUI/FirebaseOAuthUI.h>
33-
#import <FirebasePhoneAuthUI/FirebasePhoneAuthUI.h>
3427
#import <FirebaseStorageUI/FirebaseStorageUI.h>

README.md

Lines changed: 42 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,37 @@
11
# FirebaseUI for iOS — UI Bindings for Firebase
22

3-
![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)
3+
![Database](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/database.yml/badge.svg) ![Firestore](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/firestore.yml/badge.svg) ![Storage](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/storage.yml/badge.svg) ![SwiftUI Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/swiftui-auth.yml/badge.svg) ![Samples](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/sample.yml/badge.svg)
44

55
FirebaseUI 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.
66

7-
Additionally, 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.
7+
Additionally, FirebaseUI provides modern SwiftUI authentication components that simplify Firebase authentication by integrating with common identity providers like Facebook, Twitter, Google, and Apple.
88

99
FirebaseUI clients are also available for [Android](https://github.com/firebase/FirebaseUI-Android) and [web](https://github.com/firebase/firebaseui-web).
1010

1111
![](https://raw.githubusercontent.com/firebase/FirebaseUI-iOS/main/samples/demo.gif)
1212

1313
## Installing FirebaseUI for iOS
1414

15-
FirebaseUI supports iOS 10.0+ and Xcode 11+. We recommend using [CocoaPods](https://cocoapods.org/pods/FirebaseUI), add
16-
the following to your `Podfile`:
15+
FirebaseUI supports iOS 17.0+ and Xcode 15+.
1716

18-
```ruby
19-
pod 'FirebaseUI', '~> 8.0' # Pull in all Firebase UI features
20-
```
17+
### Swift Package Manager (Recommended)
18+
19+
For SwiftUI authentication and modern features, use Swift Package Manager:
2120

22-
If you don't want to use all of FirebaseUI, there are multiple subspecs which can selectively install subsets of the full feature set:
21+
1. In Xcode, go to File > Add Package Dependencies
22+
2. Enter the repository URL: `https://github.com/firebase/FirebaseUI-iOS`
23+
3. Select the modules you need:
24+
- `FirebaseAuthSwiftUI` - Core SwiftUI authentication
25+
- `FirebaseGoogleSwiftUI` - Google Sign-In
26+
- `FirebaseFacebookSwiftUI` - Facebook Login
27+
- `FirebasePhoneAuthSwiftUI` - Phone Authentication
28+
- `FirebaseAppleSwiftUI` - Sign in with Apple
29+
- `FirebaseTwitterSwiftUI` - Twitter Login
30+
- `FirebaseOAuthSwiftUI` - Generic OAuth providers
31+
32+
### CocoaPods
33+
34+
For UIKit data binding features (Database, Firestore, Storage), use [CocoaPods](https://cocoapods.org/pods/FirebaseUI):
2335

2436
```ruby
2537
# Only pull in Firestore features
@@ -30,97 +42,61 @@ pod 'FirebaseUI/Database'
3042

3143
# Only pull in Storage features
3244
pod 'FirebaseUI/Storage'
33-
34-
# Only pull in Auth features
35-
pod 'FirebaseUI/Auth'
36-
37-
# Only pull in Facebook login features
38-
pod 'FirebaseUI/Facebook'
39-
40-
# Only pull in Google login features
41-
pod 'FirebaseUI/Google'
42-
43-
# Only pull in Phone Auth login features
44-
pod 'FirebaseUI/Phone'
4545
```
4646

47-
If you're including FirebaseUI in a Swift project, make sure you also have:
47+
If you're including FirebaseUI in a project, make sure you also have:
4848

4949
```ruby
5050
platform :ios, '13.0'
5151
use_frameworks!
5252
```
5353

54-
Otherwise, you can include the FirebaseUI Xcode project from this repo in
55-
your project. You also need to
56-
[add the Firebase framework](https://firebase.google.com/docs/ios/setup)
57-
to your project.
58-
5954
## Documentation
6055

61-
The READMEs for components of FirebaseUI can be found in their respective
62-
project folders.
56+
The READMEs for components of FirebaseUI can be found in their respective project folders.
57+
58+
### SwiftUI Components
59+
- [SwiftUI Authentication](FirebaseSwiftUI/README.md)
6360

64-
- [Auth](FirebaseAuthUI/README.md)
65-
- [PhoneAuth](FirebasePhoneAuthUI/README.md)
61+
### UIKit Data Binding Components
6662
- [Database](FirebaseDatabaseUI/README.md)
6763
- [Firestore](FirebaseFirestoreUI/README.md)
6864
- [Storage](FirebaseStorageUI/README.md)
6965

7066
## Local Setup
7167

72-
If you'd like to contribute to FirebaseUI for iOS, you'll need to run the
73-
following commands to get your environment set up:
68+
If you'd like to contribute to FirebaseUI for iOS, you'll need to run the following commands to get your environment set up:
7469

7570
```bash
7671
$ git clone https://github.com/firebase/FirebaseUI-iOS.git
7772
$ cd FirebaseUI-iOS
78-
$ cd Auth # or PhoneAuth, Database, etc
73+
74+
# For SwiftUI components (uses Swift Package Manager)
75+
$ cd samples/swiftui/FirebaseSwiftUISample
76+
$ open FirebaseSwiftUISample.xcodeproj
77+
78+
# For UIKit data binding components (uses CocoaPods)
79+
$ cd FirebaseDatabaseUI # or FirebaseFirestoreUI, FirebaseStorageUI
7980
$ pod install
8081
```
8182

82-
Alternatively you can use `pod try FirebaseUI` to install the Objective-C or Swift sample projects.
83-
8483
## Sample Project Configuration
8584

86-
You'll have to configure your Xcode project in order to run the samples.
85+
You'll have to configure your Xcode project in order to run the SwiftUI samples.
8786

8887
1. 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.<br>
89-
Copy the `GoogleService-Info.plist` into the sample project folder (`samples/obj-c/GoogleService-Info.plist` or `samples/swift/GoogleService-Info.plist`).
88+
Copy the `GoogleService-Info.plist` into the sample project folder.
9089

91-
1. Update URL Types.<br>
90+
1. Update URL Types (for OAuth providers).<br>
9291
Go to `Project Settings -> Info tab -> Url Types` and update values for:
93-
+ `REVERSED_CLIENT_ID` (get value from `GoogleService-Info.plist`)
94-
+ `fb{your-app-id}` (put Facebook App Id)
92+
+ `REVERSED_CLIENT_ID` (get value from `GoogleService-Info.plist`) - Required for Google Sign-In
93+
+ `fb{your-app-id}` (put Facebook App Id) - Required for Facebook Login
9594

96-
1. Update `Info.plist` with Facebook configuration values
95+
1. For Facebook Login, update `Info.plist` with Facebook configuration values:
9796
+ `FacebookAppID -> {your-app-id}` (put Facebook App Id)
97+
+ Enable Keychain Sharing: `Project Settings -> Capabilities -> KeyChain Sharing -> ON`
9898

99-
1. Enable Keychain Sharing.<br>
100-
Facebook SDK requires keychain sharing.<br>
101-
This can be done here: `Project Settings -> Capabilities -> KeyChain Sharing -> ON`
102-
103-
1. Don't forget to configure your Firebase App Database using [Firebase console](https://console.firebase.google.com).<br>
104-
Database should contain appropriate read/write permissions and folders (`objc_demo-chat` and `swift_demo-chat` respectively)
105-
106-
1. In Order to use `Phone Auth` provider you should [Configure Push Notifications](#configure-apple-push-notifications)
107-
108-
#### Configure Apple Push Notifications
109-
110-
##### Enable silent push notifications in Xcode
111-
112-
* `Push Notification` - Under `Capabilities` tab in your app target choose `Push Notifications` and put the switch to the `On` position.
113-
* `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).
114-
115-
##### Upload APNS Certificate to Firebase
116-
117-
1. Create your `Provisioning APNS SSL Certificates` by following the steps on the following link.
118-
https://firebase.google.com/docs/cloud-messaging/ios/certs
119-
120-
1. Upload your `APNS Certificate` to Firebase:
121-
+ Inside your project in the Firebase console, select the gear icon, select `Project Settings`, and then select the `Cloud Messaging` tab.
122-
+ Select the `Upload Certificate` button for your development certificate, your production certificate, or both. At least one is required.
123-
+ 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`.
99+
1. Don't forget to configure your Firebase project using [Firebase console](https://console.firebase.google.com).
124100

125101
## Contributing to FirebaseUI
126102

local_test.sh

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ set -euxo pipefail
44

55
EXIT_STATUS=0
66

7-
schemes=( "FirebaseAnonymousAuthUI" "FirebaseAuthUI" "FirebaseDatabaseUI" \
8-
"FirebaseEmailAuthUI" "FirebaseFacebookAuthUI" "FirebaseFirestoreUI" \
9-
"FirebaseGoogleAuthUI" "FirebaseOAuthUI" "FirebasePhoneAuthUI" "FirebaseStorageUI" )
7+
schemes=( "FirebaseDatabaseUI" "FirebaseFirestoreUI" "FirebaseStorageUI" )
108

119
bundle exec pod repo update;
1210

@@ -18,7 +16,7 @@ do
1816
-workspace "${schemes[i]}.xcworkspace" \
1917
-scheme "${schemes[i]}" \
2018
-sdk iphonesimulator \
21-
-destination 'platform=iOS Simulator,OS=latest,name=iPhone 11 Pro' \
19+
-destination 'platform=iOS Simulator,OS=latest,name=iPhone 16 Pro' \
2220
clean build test \
2321
ONLY_ACTIVE_ARCH=YES \
2422
| xcpretty) || EXIT_STATUS=$?;

release.sh

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,12 @@
33
set -euxo pipefail
44

55
pod spec lint FirebaseDatabaseUI.podspec && \
6-
pod spec lint --allow-warnings FirebaseAuthUI.podspec && \
76
pod spec lint FirebaseStorageUI.podspec && \
87
pod spec lint FirebaseFirestoreUI.podspec
98

109
pod trunk push FirebaseDatabaseUI.podspec && \
11-
pod trunk push --allow-warnings FirebaseAuthUI.podspec && \
1210
pod trunk push FirebaseStorageUI.podspec && \
1311
pod trunk push FirebaseFirestoreUI.podspec
1412

15-
pod spec lint FirebaseAnonymousAuthUI.podspec && \
16-
pod spec lint --allow-warnings FirebaseEmailAuthUI.podspec && \
17-
pod spec lint FirebaseFacebookAuthUI.podspec && \
18-
pod spec lint FirebaseGoogleAuthUI.podspec && \
19-
pod spec lint FirebaseOAuthUI.podspec && \
20-
pod spec lint --allow-warnings FirebasePhoneAuthUI.podspec
21-
22-
pod trunk push FirebaseAnonymousAuthUI.podspec && \
23-
pod trunk push --allow-warnings FirebaseEmailAuthUI.podspec && \
24-
pod trunk push FirebaseFacebookAuthUI.podspec && \
25-
pod trunk push FirebaseGoogleAuthUI.podspec && \
26-
pod trunk push FirebaseOAuthUI.podspec && \
27-
pod trunk push --allow-warnings FirebasePhoneAuthUI.podspec
28-
2913
pod spec lint FirebaseUI.podspec && \
3014
pod trunk push FirebaseUI.podspec

staging.sh

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,8 @@
33
set -euxo pipefail
44

55
pod repo push --use-json spec-staging FirebaseDatabaseUI.podspec && \
6-
pod repo push --use-json --allow-warnings spec-staging FirebaseAuthUI.podspec && \
76
pod repo push --use-json spec-staging FirebaseStorageUI.podspec && \
87
pod repo push --use-json spec-staging FirebaseFirestoreUI.podspec
98

10-
pod repo push --use-json spec-staging FirebaseAnonymousAuthUI.podspec && \
11-
pod repo push --use-json --allow-warnings spec-staging FirebaseEmailAuthUI.podspec && \
12-
pod repo push --use-json spec-staging FirebaseFacebookAuthUI.podspec && \
13-
pod repo push --use-json spec-staging FirebaseGoogleAuthUI.podspec && \
14-
pod repo push --use-json spec-staging FirebaseOAuthUI.podspec && \
15-
pod repo push --use-json --allow-warnings spec-staging FirebasePhoneAuthUI.podspec
16-
179
pod spec lint FirebaseUI.podspec && \
1810
pod repo push --use-json spec-staging FirebaseUI.podspec

0 commit comments

Comments
 (0)