設定專案

建立Firebase專案

小提醒:目前Firebase(Google)只能免費建立3個專案,且刪除專案需要等30天才會釋出數量喔

前往Firebase Console,如果尚未登入會先跳轉到登入頁

小提醒:如果有跟默司一樣同時管理多個Google帳號的人,建議先登出再重新登入要用的帳號,避免使用切換帳號的方式使用喔,因為Firebase操作過程中帳號可能會跳掉

登入後就可以建立專案了,國家/地區只和顯示幣值有關

專案Overview

加入iOS應用程式

於上列的Overview中,選擇

填寫下列表單

其中iOS繫結ID即為XcodeBundle Identifier,建議格式為[反寫Domain].[App名稱]

反寫Domain:默司個人註冊的網域是ccmos.tw,所以反寫Domain就是tw.ccmos,這麼做是為了避免與別的開發者使用相同的Bundle Identifier,造成App無法上架等問題

App Store ID,這會在日後內測或上架階段在iTunesConnect建立資料時才會產生,此處可以先空白

按下註冊應用程式,並且下載GoogleService-Info.plist

GoogleService-Info.plist使用的時候一定要命名為GoogleService-Info.plist,如果多次下載這個檔案名稱會變成類似GoogleService-Info(1).plist,之後匯入時記得更改檔名喔

步驟3、步驟4後續將一起說明

在Xcode建立iOS專案

  1. Create a new Xcode project

  2. Single View Application

  3. 填寫專案資訊,欄位說明於圖片下方

    Product Name
    顯示在AppStore的名稱 (可多國語系)
    Team
    如果顯示Add account...,就需要先點按並登入自己的Apple ID
    登入後下拉選擇
    Organization
    組織名稱
    Organization Identifier
    此處使用反寫Domain
    Bundle Identifier
    自動產生
    Language
    開發APP語言 => Swift
    Device
    支援的裝置種類 => iPhone

  4. 專案存放位置

    小提醒
    a. Xcode會自動用上面的Product Name建立新資料夾,所以這個部分只要決定專案要放在哪邊就可以囉!
    b. 如果需要版本管理可以勾選Source Control,詳細的版本管理方式可以參考 [線上讀書會] Mouson 主講 git 入門 與應用實務

  5. 調整設定

    Bundle Identifier
    更新至和Firebase應用程式相同
    Main Interface
    移除原來的Main,即不使用storyboard,本文將全部使用程式碼編寫UI及Layout
    Device Orientation
    使APP只支援直立方向

  6. 複製專案路徑

  7. 關閉Xcode視窗

安裝Cocoapods套件到iOS專案

在Terminal中執行

cd [貼上剛剛複製的路徑]
pod init
open Podfile

開啟的Podfile

加入下列內容到# Pods for LetsChat下方

  pod 'Firebase/Core'
  pod 'Firebase/Auth'
  pod 'Firebase/Database'
  pod 'Firebase/Storage'
  pod 'Firebase/Database'
  pod 'SVProgressHUD'
  pod 'IQKeyboardManagerSwift'

完整Podfile

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'LetsChat' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for LetsChat
  pod 'Firebase/Core'
  pod 'Firebase/Auth'
  pod 'Firebase/Database'
  pod 'Firebase/Storage'
  pod 'Firebase/Database'
  pod 'SVProgressHUD'
  pod 'IQKeyboardManagerSwift'
end

小提醒
上列所有縮排都是空白不是Tab,這點需要特別注意
引號為 ' 不是 `

儲存並關閉檔案,接著在Terminal執行

pod install

結果畫面

接著執行

open .

雙擊[Product Name].xcworkspace打開專案

在第一個資料夾(和專案名稱相同)點右鍵,選擇Add Files to "[專案名稱]"

Xcode中黃色資料夾稱為Group,之後文中提到新增檔案就是指這邊的New File..項目,也請各位注意新增的檔案是否正確包含在Group中

選擇先前下載的GoogleService-Info.plist

加入完成

選擇AppDelegate.swift

加入下列程式碼到import UIKit之後

import Firebase
import IQKeyboardManagerSwift
import SVProgressHUD

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        return true
    }

修改成

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        // 取消預設使用 storyboard 的方式,改用程式碼編寫介面
        window = UIWindow(frame: UIScreen.main.bounds)
        window?.rootViewController = UINavigationController(rootViewController: ViewController())
        window?.backgroundColor = UIColor.white
        window?.makeKeyAndVisible()

        // 讓Firebase進行設定
        // 注意:新版Firebase已改用FirebaseApp.configure()
        FIRApp.configure()

        // 啟動IQKeyboardManager (輔助輸入體驗)
        IQKeyboardManager.sharedManager().enable = true
        IQKeyboardManager.sharedManager().shouldResignOnTouchOutside = true

        // 設定顯示讀取狀態時的ProgressView樣式
        SVProgressHUD.setDefaultStyle(.dark)
        SVProgressHUD.setDefaultMaskType(.clear)

        return true
    }

選個模擬器,試跑一下,目前仍然是一個白色的畫面,但也不會發生錯誤

results matching ""

    No results matching ""