ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Firebase를 이용한 채팅 구현 (1) - 프로젝트 설정 (iOS)
    Programming 2016. 6. 17. 12:06

    Google I/O 에서 Firebase 에 대한 발표 후 Firebase에 대한 언급이 많아지고 있네요.


    테스트를 해보니 채팅을 구현하기 정말 쉬울 것 같아서 한번 만들어 보겠습니다.


    채팅 구현에 여러가지 기능을 넣을 수 있겠지만 텍스트 대화와 푸시없이 구현하도록 하겠습니다.


    사용하는 Firebase의 기능은 Realtime database, Authentication 입니다.



    Firebase 프로젝트 설정


    https://console.firebase.google.com 접속

    `새로만들기` 클릭


    프로젝트 `이름`과 `국가/지역` 선택



    iOS 앱에 Firebase 추가



    `iOS 번들 ID` 입력 (실제 iOS  bundle id 와 같아야 합니다.)



    `앱 추가` 버튼을 클릭하면 `GoogleService-info.plist` 파일을 다운로드 받게 됩니다. 나중에 xcode(appcode) project 생성 후에 추가해야 하니 보관해두세요.


    이후 나오는 `계속`, `완료` 버튼을 눌러 `iOS 앱에 Firebase 추가` 과정을 끝냅니다.


    앱이 추가되었습니다.




    회원 인증 설정


    어떤 채팅이든 유저를 구분할 수 있는 로그인이 필요하죠.


    Firebase에서는 Auth를 이용해 쉽게 회원기능(회원가입/ 로그인)을 구현할 수 있습니다.


    Authentication (https://firebase.google.com/docs/auth/)


    Authentication 에서는 이메일 인증부터 구글, 페이스북등 다양한 소셜 로그인 기능과 익명 기능이 제공됩니다.

    우리 프로젝트는 익명 채팅으로 구현할거에요. 


    Anonymous Authentication (https://firebase.google.com/docs/auth/ios/anonymous-auth)


    콘솔 메뉴에서 Auth 를 선택합니다.




    로그인 방법 설정을 클릭합니다.



    1. Anonymous 선택
    2. 사용 설정 켜기
    3. 저장



    사용 설정 완료~!!!




    Firebase에서 프로젝트 설정은 끝났습니다. 



    iOS 프로젝트 설정


    Xcode의 프로젝트 생성은 많이 해보셨을테니 저는 Appcode로 하겠습니다. ㅋ


    (사용하는 Appcode의 버전은 2016.2 EAP 입니다.)


    앱코드(Appcode) 실행

    New project




    iOS > Application > Single View Application 선택 후 Next

    `Product Name`, `Organization Name`, `Organization Identifier` 입력

    언어는 Objective-C, Swift 둘중 편한걸 선택하세요. 저는  Swift입니다

    설정이 끝났다면 Finish




    Appcode는 cocoapods이 통합되어 있어서 IDE안에서 cocoapods을 사용 가능합니다.

    cocoapods podfile 생성



    podfile 작성 후 pod install (cocoapods 에서 확인하세요)

    platform :ios, '9.0'
    use_frameworks!
    
    target 'Shouting' do
      pod 'Firebase/Auth'
      pod 'Firebase/Database'
    end
    


    AppDelegate.swift


    import UIKit
    import Firebase
    
    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {
        var window: UIWindow?
    
        func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
            // Override point for customization after application launch.
            FIRApp.configure()
            return true
        }
    }
    

    Firebase console 에서 받은 GoogleService-Info.plist 를 Shouting 프로젝트에 추가합니다.



    빌드하고 실행하면 오류 없이 정상 실행됩니다.


    다음은 iOS 앱에서 채팅을 구현해 볼까요?

    댓글 0

Designed by Tistory.