kazuma sakata
一ヶ月でSNSアプリを作成していく様子を随時更新していきます。
今、どうしても作りたいアプリを思いつきそれに夢中でした。引き続き、研究の空いている時間をみつけ料理共有アプリを完成させますのでよろしくお願いします。 いま考案中のアプリと言うのは、脅迫性障害を持つ方に向けた、やったことを残す、そして自分以外のユーザーはそのやったことに関する投稿へ「確認したよ」といいねのような機能をもたせるSNSを作ろうと思います。 経緯としては、友達がその病気を持っていて、鍵を閉めたのか何度も何度も確認してしまうのに苦労している様子からこうゆうのあれば彼ら
昨日までに、メッセージング機能に必要なバックエンドの要素等作成したのでこれらをそれぞれのコントローラ、ビューで呼び出し完成させていきます。 1.トーク画面機能作成したfetchMessagesをチャットコントローラのfetchMessagesで呼び出し、さらにそれをviewdidloadで呼び出します。 func fetchMessages() { MessageService.fetchMessages(forUser: user) { messag
メッセージング機能の続きを今日も行っていきます。昨日はUIを作成したのでFirebase関連のことを今日は実装していきます。 1.Messageモデルの作成メッセージは以下の要素を持ちます。 toIdは送る先、fromIdは差出人、profileImageUrlは送る先の人の画像、usernameも送る先の人、isFromCurrentUserは差出人は現在ログインしているユーザかと言うことを示します。 なので以下のようになります。 struct Message {
今日から今までのアプリにメッセージング機能を追加していきます!(今日はコードがたくさんあるので画像のみにします。後日Githubにてコードを公開します) 1.タイムラインのナビゲーションバーにメッセージの画面を開くアイコンの追加まずは、画面遷移を行っていくためのアイコンをタイムラインのナビゲーションバーに追加しました! そしてメッセージングリストのコントローラに遷移するようにします。 2.トークリストページのUIの設定 3.ユーザの検索次に右上のトーク作成アイコンを押
今日は以下のYouTubeの動画でやっていることをAPI取得、リファクタリングの練習をかねてMVVM形式に変更して作成してみました。なお、ストーリボードは使用していません。 このくらいの短いコードであれば必要ないかもしれないですが練習のためですw また、動画では使っていなかったのですがURL画像を読み込むためにSDWebImageも活用しています! まずはストリーボードを使わないのでsceneDelegate.swiftにて以下のように変更します。 func
17日まで進んだのでここまでの記事を以下でまとめておきます! なお、以下の動画が現在のアプリの動作確認動画です。ぜひご覧ください!
今日はプロフィールページにてプロフィールのアップデート機能を実装しました。 まず昨日の投稿削除の機能の・・・が気に入らなかったのでまずはそこを少し変更します! このアイコンに変更しようと思います。 次からプロフィール編集画面です。 1.UIを設定 2.API処理①プロフィール画像の更新 static func updateProfileImage(forUser user: User, image: UIImage, completion: @escaping(S
1.UIの設定以下のように投稿の右上に・・・をつけました。 他人の投稿でこの・・・を押すとフォロー解除ができるようにします 自分の投稿のときは投稿を削除できるようにします。 2.自分の投稿の削除まずは投稿削除機能の実装から。ここでは以下のような処理が実行されています(以下に分かりやすいようにデータベースのモデルも載せておきます。) ・まずはポストのコレクションのドキュメントからpost-likes(いいねしている人)のuidを取得します。その後、そのuidをユーザのコ
1.ログイン画面にてパスワードを忘れた際の処理①UIの設定 ②API処理 firebaseの機能にあるのでそれを利用します。 //MARK: パスワードのリセット static func resetPassword(withEmail email:String,completion:SendPasswordResetCallback?){ Auth.auth().sendPasswordReset(withEmail: email, completion
今日はタイムラインにおいて,フォローしているユーザの投稿のみ表示する機能を実装しました. 1.データベースの構造データベースの構造は以下のようになっています.usersのドキュメントにuser-feedを持たせ,フォローしているユーザをタイムラインに表示できるようにしていきます. 2.firestoreへのアップロード //MARK: -フォローした後,そのフォローした人の投稿を自分のuser-feedに加える機能 static func updateUserF
今日は、お知らせページにおいて、セルとタップした時の処理、お知らせページにてフォローする機能の実装を行ないました。 ①お知らせページで投稿の写真をクリックすると画面遷移 ②お知らせ画面でフォロー、フォロー解除 ③cellを押すと、プロフィール画面へ ④その他①と②、③は処理の過程で少し違いがあります。 ③はUITableViewDelegateのdidSelectRowAtで画面遷移を行なっています。 //MARK: -UITableViewDelegateext
昨日は疲れすぎて寝てしまいました😭 なんとか今日は1日でお知らせ画面、通知機能を実装させました!今日の投稿は少し長くなります🙇♂️ 後で自分が見返せるように今日から重要なところを詳細に書いていきます。 UIの作成から始まり、お知らせ(通知のことだがアプリ上の通知で、ロック中に表示はされない)の実装まで行いました。以下が今日のやってきた流れになります! 1.大まかなUIの構築 2.お知らせ(Notificationのデータモデル) notificationsのタイ
今日はお気に入り機能の実装を行なった。 1.postのドキュメントの追加 2.お気に入り機能とお気に入り取り消し機能お気に入りボタン(バナナのアイコン)を押すと赤色になりデータベースにlikeの情報がアップロードされる。もう一度、バナナのアイコンを押すとものと色(黒)に戻り、データベースからも削除される!
今日はコメント機能を追加した。 1.コメントページのUIの設定まず、UIの設定から 2.FireStoreへのコメントのアップロードとコメントの表示①DBの構造 postのドキュメントにcommentを追加 黒塗り部分は後に追加。 ②FireStoreの様子 ③コメントのアップロードと、コメントの取得、表示 コメントが長文の時 3.コメントをタップするとユーザページへ移動
今日は、投稿時のロード中の表示とタイムラインで投稿を取得 の実装を行なった。 1.ロード中のViewを表示JGProgressHUDを利用してロード中の表示をした。 2.firestoreからの投稿の取得①データの取得 ②リフレッシュ ③プロフィール画面の投稿関連 ④UIの変更。 プロフィール画面での投稿の写真を大きくした ⑤cell (写真を押した時の処理)
今日は投稿機能の実装を行なった。投稿機能では、cocoapodsのYPImagePickerを使用した。 1.投稿するまでのUIの設定①YPImagePickerの画面 ②投稿画面のUIの設定 2.Firebaseへのアップロード①postのデータ構造 comment, post-like,ownerImageUrl,ownerUsernameは後に追加する。今の段階ではこの4つを除いたもので構成。 ②firebaseの様子