最近將Swift連上Firebase資料庫,詳細記錄串接過程,從cocoapods安裝Firebas、AppDelegate中import、和Swift如何操作Firebase資料庫中的新增、讀取、刪除和更新,希望此筆記對你有幫助。
除此之外可以參考以下文章:
Table
一. Swift安裝Firebase
1.安裝cocoapods:
1 |
sudo gem install cocoapods |
2.移轉至專案夾:
1 |
cd ~/Desktop/CocoapodsTest |
3.建立Podfile:
1 |
pod init |
4.加入
1 2 3 |
pod 'Firebase/Analytics' pod 'Firebase/Firestore' pod 'Firebase/Core' |
5.安裝
1 |
pod install |
二. 在AppDelegate中import Firebase
1 2 3 4 5 6 |
import Firebase import FirebaseFirestore import FirebaseCore FirebaseApp.configure() let db = Firestore.firestore() |
設定如下圖:

可以參考Firebase官方文件: https://github.com/firebase/snippets-ios/blob/6f8bb8d3865398b40a327240c693664b0d3b528a/firestore/swift/firestore-smoketest/AppDelegate.swift#L31-L33
三. Swift 使用 Firebase 的資料庫
首先宣告var db: Firestore! ,並在viewDidLoad內加入db = Firestore.firestore() ,之後就可以用db來做事情囉!
1 2 3 4 5 6 7 8 9 10 |
class ViewController: UIViewController { var db: Firestore! override func viewDidLoad() { super.viewDidLoad() db = Firestore.firestore() } } |
使用Swift 新增 Firebase資料庫
1 2 3 4 5 6 7 8 9 10 11 12 |
func addData() { db.collection("users").addDocument(data: [ "name": "Max", "ordee": "product", "size": "size", "price": 60 ]) { (error) in if let error = error { print(error) } } } |
使用Swift 讀取 Firebase資料庫
1 2 3 4 5 6 7 8 9 |
func readData(){ db.collection("users").getDocuments { (querySnapshot, error) in if let querySnapshot = querySnapshot { for document in querySnapshot.documents { print(document.data()) } } } } |
使用Swift 刪除 Firebase資料庫
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
// 刪除Document func deleteDocument() { // [START delete_document] db.collection("uesrs").document("DC").delete() { err in if let err = err { print("Error removing document: \(err)") } else { print("Document successfully removed!") } } } // 刪除Collection func deleteCollection(collection: String) { db.collection(collection).getDocuments() { (querySnapshot, err) in if let err = err { print("Error getting documents: \(err)") return } for document in querySnapshot!.documents { print("Deleting \(document.documentID) => \(document.data())") document.reference.delete() } } } |
使用Swift 更新 Firebase資料庫
1 2 3 4 5 6 7 8 9 |
func updateData(){ db.collection("users").whereField("name", isEqualTo: "Max").getDocuments { (querySnapshot, error) in if let querySnapshot = querySnapshot { let document = querySnapshot.documents.first document?.reference.updateData(["size": "big"], completion: { (error) in }) } } } |
相關延伸閱讀:
- [Swift 教學] 彼得潘的iOS App課程作業五連發
- [Swift 教學] iOS APP如何串接API
- [Swift 教學] Swift Firebase資料庫串接 (附程式碼)
- [Swift 教學] Swift example 訂飲料App (附程式碼)
[Swift 教學] Swift Firebase資料庫串接 結束囉,感謝收看,有關Max行銷誌的最新文章,都會發佈在Max的Facebook粉絲專頁,如果想看最新更新,還請您按讚或是追蹤唷!