[swift] Swift와 Firebase를 이용한 공유 독서록 앱 개발하기
이번 프로젝트에서는 Swift와 Firebase를 사용하여 독서록을 공유하는 앱을 개발할 것입니다. 이 앱은 사용자들이 책을 읽은 후 독서록을 작성하고 다른 사용자들과 공유할 수 있는 기능을 포함합니다.
준비물
- Xcode가 설치된 Mac 컴퓨터
- Firebase 계정
Firebase 프로젝트 설정
- Firebase 콘솔에 로그인하여 “새 프로젝트 만들기”를 클릭합니다.
- 프로젝트 이름을 입력하고 “프로젝트 만들기”를 클릭합니다.
- 프로젝트 대시보드에서 “iOS 앱 추가”를 클릭합니다.
- 번들 식별자를 입력하고 “앱 등록”을 클릭합니다.
- GoogleService-Info.plist 파일을 다운로드하고 프로젝트에 추가합니다.
프로젝트 설정
- Xcode를 열고 새로운 프로젝트를 생성합니다.
- 생성된 프로젝트 파일의 루트 디렉토리에 GoogleService-Info.plist 파일을 추가합니다.
- 터미널에서
pod init
명령어를 실행하여 Podfile을 생성합니다. - Podfile을 열고 다음 코드를 추가합니다:
platform :ios, '13.0'
target 'YourProjectName' do
use_frameworks!
pod 'Firebase/Core'
pod 'Firebase/Database'
pod 'Firebase/Auth'
end
- 터미널에서
pod install
명령어를 실행하여 Firebase SDK를 설치합니다.
사용자 인증 설정
- AppDelegate.swift 파일을 열고
import Firebase
을 추가합니다. didFinishLaunchingWithOptions
함수 내에서 Firebase 앱 설정을 추가합니다:
FirebaseApp.configure()
독서록 모델 생성
- 새로운 Swift 파일을 생성하고 Book.swift라고 이름을 지정합니다.
- 다음 코드를 추가하여 Book 클래스를 만듭니다:
class Book {
var id: String
var title: String
var author: String
var summary: String
init(id: String, title: String, author: String, summary: String) {
self.id = id
self.title = title
self.author = author
self.summary = summary
}
}
독서록 작성하기
- 책 정보를 입력받는 화면을 만듭니다.
- 사용자가 정보를 입력하고 “작성완료” 버튼을 누르면 다음 코드를 실행합니다:
let book = Book(id: UUID().uuidString, title: titleTextField.text, author: authorTextField.text, summary: summaryTextView.text)
- Firebase Database에 독서록 정보를 저장합니다:
let ref = Database.database().reference().child("books").child(book.id)
ref.setValue(["title": book.title, "author": book.author, "summary": book.summary])
독서록 가져오기
- 독서록을 가져올 ViewController를 만듭니다.
- Firebase Database에서 독서록 정보를 가져와 TableView에 표시합니다:
let ref = Database.database().reference().child("books")
ref.observe(.value) { snapshot in
self.books = []
for child in snapshot.children {
if let snapshot = child as? DataSnapshot, let bookData = snapshot.value as? [String: Any] {
let id = snapshot.key
let title = bookData["title"] as? String ?? ""
let author = bookData["author"] as? String ?? ""
let summary = bookData["summary"] as? String ?? ""
let book = Book(id: id, title: title, author: author, summary: summary)
self.books.append(book)
}
}
self.tableView.reloadData()
}
결론
이제 Swift와 Firebase를 이용하여 독서록 앱을 개발하는 방법을 알게 되었습니다. 이 프로젝트를 확장하여 추가 기능을 구현하거나 사용자 경험을 개선할 수 있습니다. Firebase의 다양한 기능을 활용하여 앱을 개발하는 재미를 느껴보세요!