Firebase Firestore
2022/2/11確認
SimulatorでFirebaseのViewControllerを開いた時に、Firestore Databaseにデータを追加できた。
Podfileに追加
pod 'Firebase/Core'
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '8.12.1'
M1 Macの場合、下記コマンドでpod install
$ arch -x86_64 pod install
Firebaseコンソールにログインして、GoogleService-Info.plistをダウンロードして、
プロジェクトのフォルダにコピーして、Xcodeにドラッグして追加
AppDelegateにimportを追加
import Firebase
AppDelegateのfunc applicationにFirebaseApp.configure()を追加
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
return true
}
FirebaseViewControllerにimportを追加
import FirebaseFirestore
FirebaseViewControllerのviewDidLoad()に追加
override func viewDidLoad() {
super.viewDidLoad()
let db = Firestore.firestore()
db.collection("users").addDocument(data: ["name": "hoge2"]) { error in
if let error = error { print("エラーが起きました") }
else { print("ドキュメントが保存できました") }
}
Firebaseコンソールにログインして、
Firestore Databaseのルールを読み込み、書き込みできるように変更
allow read, write: if
request.time < timestamp.date(2022, 2, 15);
上記の設定だと2022/2/14まで誰でも変更・削除できてしまうので注意
pod 'Firebase/Firestore'インストール後のビルドが遅い場合の対処法(iOS) - Qiita
Firebase FireStore使ってみた - Qiita
【Swift】FirestoreにDataを追加してみる|Playground発!アプリ開発会社の技術ブログ
Add data to Cloud Firestore | Firebase
【Firebase×Swift】データ取得とTableView表示(後編)〜取得データの変換とセル表示〜|shion_note|note
Podfileに追加
pod 'Firebase/Core'
pod 'Firebase/Firestore'
pod 'Firebase/Firestore'インストール後のビルドが遅い場合の対処法(iOS) - Qiita
Firebase FireStore使ってみた - Qiita
AppDelegate.swiftに
import Firebase
を追加
AppDelegate.swiftの
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
の下に
FirebaseApp.configure()
を追加
@IBAction func tapFirestore(_ sender: Any) {
creatUserCollectionAutomaticDocument()
}
// usersコレクションの作成(ドキュメント名自動)
func creatUserCollectionAutomaticDocument() {
let db = Firestore.firestore()
db.collection("users").addDocument(data: ["name": "hoge"]) { error in
if let error = error { print("エラーが起きました") }
else { print("ドキュメントが保存できました") }
}
}