はじめに
こんばんは。
今週は子供が体調悪くなったりとか、奥さんが体調悪くなったりとか、自分が体調悪くなったりとかで、家族揃ってダウンした週でした。
なので、ブログもぎりぎりになりました。
で、今回は前回・前々回の続きで、FirebaseのCloud Storageを試してみようと思います。
ちなみにCloudStorageへアップロードするやり方は以下の本には書いてないので、公式を見ながらやってみようと思います。
- 作者: 小笠原みつき,西村公宏,柳佳音,志甫侑紀,池田友洋,木村涼平,?橋優介,大塚雅和,飯塚直,吉川竜太,末永恭正,久保田祐史,浜田真成,穴井宏幸,大島一将,桑原仁雄,牧大輔,池田拓司,はまちや2,竹原,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2018/06/23
- メディア: 単行本
- この商品を含むブログを見る
やってみた
Storageルールの変更
Storageはデフォルトではセキュリティルールが適用されているらしいです。
デフォルトではユーザー認証が必要になるみたいです。
とりあえず、今回は上げるところだけをやってみたいので、一旦全公開にするためルールを変更しました。
アプリUI変更
前回までのアプリで作っていた、撮影した写真のプレビュー画面に一つボタンを追加します。
このボタンが押されたら、Cloud Storageにアップロードしようと思います。
Pod Install
次に、FirebaseのツールをCocoaPods経由でインストールします。
以下を追加して pod installします。
platform :ios, '11.4' target 'test01' do use_frameworks! # Pods for test01 pod 'Firebase/Core' pod 'Firebase/Auth' pod 'Firebase/Storage' ←これついか end
コード修正
次は実際のswiftファイルの修正です。
先程追加したボタンに対応する IBActionを作ります。
@IBAction func didTouchUploadButton(_ sender: Any) { guard let imageData = UIImageJPEGRepresentation(imageView.image!, 1.0) else { return } // アップロード let storageRef = storage.reference(forURL: "URL") let imageRef = storageRef.child("image_01.jpg") imageRef.putData(imageData, metadata: nil) }
実行テスト
起動して写真を取り、実際に+ボタンを押すと、特になにもUIの変化はありません(作ってないので・・・)
なにやらあがってる!!
ちょっとダウンロードしてみます。
先程アップロードしたやつでした!
終わりに
実際に上げるまではすごく簡単でしたが、認証周りのときもそうですが、これもエラー処理やアップロード成功後の通知など、実際にはもっと作り込む必要があります。
そのへんが一番たいへんそう。。。
とりあえずできました!
あーアプリ楽しいなぁ。