#-1 iOS Program使用Firebase Service
目錄
⦿ 前言
⦿ 建立專案
⦿ Bundle ID
⦿ 安裝套件
⦿ 在APP裡設定
⦿ 在SwiftUI使用Firebase Service
⦿ SwiftUI使用UIKit功能的補充
前言
Firebase 是基於行動或網路應用程式的後端平台,提供十來項服務,2004 年被 Google 買下,wiki 上說至今已被超過 150萬個應用程式 所使用。
這篇用來複習如何使用 Firebase,基於簡單明瞭的原則。
由於網路上一堆連來連去的教學文,像網紅互相推薦那般,令人相當頭疼,技術網誌也為了給自己回憶時當工具書用,所以簡單!明瞭!
繼續閱讀|回目錄
建立專案
在啟用 Firebase 時有兩件重要的事,第一是建立專案,第二安裝套件。
如不需要 Google Analytics(GA)功能可以取消啟用,按繼續。
使用既有帳戶,建立專案。
接著進入專案,點選 iOS 圖案,代表你要加入的專案是 iOS 的應用程式。
然後註冊應用程式,裡面必填的是 Bundle Identifier( Bundle ID ,軟體包ID),其他兩項選填。
Bundle ID 哪裡找呢?
繼續閱讀|回目錄
Bundle ID
從 Xcode 打開你欲使用 Firebase Service 的專案,Bundle Identifier 就在 TARGETS => General 裡的第二項,如下:
回到 Firebase,下載這個 Service 的 Info.plist,把它放到你的專案裡。
在 Xcode 記得勾選 Copy items if needed
和 Add to targets
。
繼續閱讀|回目錄
安裝套件
注意!Xcode 開始安裝套件。
我們從 PROJECTS => Swift Packages => 找到下面的+號。
接著勾選 FirebaseAuth
、FirebaseFirestoreSwift-Beta
、FirebaseStorageSwift-Beta
三項功能安裝。
為讓 APP 能夠實現登入、存取 Firestore 的檔案、存取 Storage 的檔案。
成功後,在 Xcode Navigator(左側)列出了這些套件。
到這邊,功夫才打了半套,接下來我們還需在 APP 做相關設定。
繼續閱讀|回目錄
在APP裡設定
為使 APP 連上 Firebase Service,在 APP 裡還需做相關設定。
由於使用 SwiftUI Framework(框架)來編寫,我們需要另外創建一個 Cocoa Touch Class,class:Appdelegate、sub class:NSObject。
接著在 Appdelegate.swift 裡 import Firebase 加入粗黑體那行:
func application(_:didFinishLaunchingWithOptions: ) {
FirebaseApp.configure()
}
來對 Firebase 套件初始化,其實 Firebase 網頁也教你怎麼寫了:
繼續閱讀|回目錄
在SwiftUI 使用Firebase Service
不過麻煩的是,即便不用 CocoaPods,而是使用 SPM 去安裝套件,SwiftUI 還是不放過我們,在 APP 裡還需加上:
@UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
這為了讓 SwiftUI 生成 AppDelegate,function 在某些事件發生時被觸發。
繼續閱讀|回目錄
Firebase 裡,Cloud Firestore 跟 Realtime Database 有何差異呢?
照 Google 說法,兩者各有優缺點,毋需部署跟維護伺服器,即時更新,免費,及之後的按用量收費。
由於之前沒用過 Firebase,但聽前輩說 Firestore 越來越多功能,例如支援的檔案格式越來越多,而 Realtime 在發展上則停滯不前,所以當前首選是 Firestore 囉!
我們看看 Firestore 這個資料庫的內容:
並且 Firestore 還能做到簡單的排序,如下:
是不是很棒呢?
SwiftUI使用 UIKit功能的補充
SwiftUI 是尚未發展完全的 Framework,所以有些功能需要介接 UIKit 來使用;反過來,UIKit 有時也想使用 SwiftUI 的預覽功能,於是整理如下:
主要運用 UIHostingController 跟 UIViewRepresentable。
- SwiftUI 中用 UIKit:UIHostingController
- UIKit 中用 SwiftUI:UIViewRepresentable
繼續閱讀|回目錄