https://github.com/zunda-pixel/firebase-swift
Firebase client for Swift.
https://github.com/zunda-pixel/firebase-swift
firebase google-cloud swift
Last synced: 12 months ago
JSON representation
Firebase client for Swift.
- Host: GitHub
- URL: https://github.com/zunda-pixel/firebase-swift
- Owner: zunda-pixel
- License: apache-2.0
- Created: 2024-07-11T16:02:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-03T14:35:58.000Z (about 1 year ago)
- Last Synced: 2025-03-28T16:18:05.801Z (12 months ago)
- Topics: firebase, google-cloud, swift
- Language: Swift
- Homepage: https://swiftpackageindex.com/zunda-pixel/firebase-swift
- Size: 81.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# firebase-swift
Firebase client for Swift.
[](https://swiftpackageindex.com/zunda-pixel/firebase-swift)
[](https://swiftpackageindex.com/zunda-pixel/firebase-swift)
### [Authentication](https://firebase.google.com/docs/auth)
- Create Anonymous User
- Create User
- Delete Account
- Link Email for Anonymous User
- Refresh Token
- Send Email Verification
- Send Email to Reset Password
- Send SignUp Link
- Update Password
- Update Profile
- Verify Password
```swift
let client = AuthClient(
apiKey: apiKey,
httpClient: .urlSession(.shared)
)
let user = try await client.createUser(
email: "test@gmail.com",
password: "password"
)
print(user)
```
### [Remote Config](https://firebase.google.com/docs/remote-config)
- Fetch Remote Config
- Realtime Remote Config
```swift
let client = RemoteConfigClient(
apiKey: apiKey,
projectId: projectId,
projectName: projectName,
appId: appId,
appInstanceId: UUID().uuidString,
httpClient: .urlSession(.shared)
)
let config = try await client.fetch()
print(config)
```
### [Cloud Storage](https://firebase.google.com/docs/storage)
- Get Item
- Get Items
- Upload Item
- Delete Item
- Update Item
```swift
let client = StorageClient(
httpClient: .urlSession(.shared)
)
let item = try await client.upload(
bucket: bucket,
path: itemPath,
data: data,
contentType: contentType
)
print(item)
```