Swift part13 (412レス)
Swift part13 http://mevius.5ch.net/test/read.cgi/tech/1618211068/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
173: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/02(日) 00:48:46.56 ID:hDax/puW0 ここで聞くのが適切かどうか分からないんですが SwiftでFirebaseを使ったチャットを作ってます Cloud Firestoreでroomコレクションがあり その中に1投稿ごとのドキュメントが格納してある感じです 各投稿ドキュメントの中には投稿時間が格納してあり 1週間以上前の投稿は自動で削除していく仕様です が、この投稿時間から判定して自動で削除って そもそもFirebaseで実現可能でしょうか? iPhoneアプリとは別に監視クライアントを作って 24時間365日監視クローリングさせておいて 期間が過ぎてる投稿を消すみたいな形なら 実現出来そうな気がしますが常に起動させておく サーバーが必要になってくるので なんか実装としては厳しいような気がします iPhoneアプリ自体にそういう監視機能を持たせて ユーザーがユーザーとして参加しつつ 監視ノードとしても働くみたいなやり方も 考えましたがそんな実装あまり聞いたことないです というかユーザーのリソースを使って バックグラウンドで働かせるのは 色々とまずそうな気がします こういう事を実現したい時に どういう設計や手法を用いるのが一般的なのか 教えてもらえたら嬉しいです http://mevius.5ch.net/test/read.cgi/tech/1618211068/173
174: デフォルトの名無しさん (ブーイモ MMb6-zmFY) [sage] 2022/01/02(日) 09:09:33.82 ID:xx+iX0h3M アプリでフィルタしつつCloud Functionsで削除 http://mevius.5ch.net/test/read.cgi/tech/1618211068/174
175: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/02(日) 22:29:16.70 ID:hDax/puW0 Cloud Functionなるものを調べてるけど 頭がおかしくなりそうなくらい意味わかんない… 説明もなんか端折ってるサイト多くて難しいな http://mevius.5ch.net/test/read.cgi/tech/1618211068/175
176: デフォルトの名無しさん (ブーイモ MMb6-zmFY) [sage] 2022/01/03(月) 09:54:53.94 ID:z/ePbQFgM これ読んだ? https://firebase.google.com/docs/functions/use-cases http://mevius.5ch.net/test/read.cgi/tech/1618211068/176
177: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/03(月) 17:53:15.67 ID:Ms7HJZJm0 >>176 読んで色々やってるんですが npmとかnode.jsとかCLIとか 知らない概念が3つ4つ同時に押し寄せてるせいで 理解が進みにくいのとfirebase emulator:startで faral errorが出てしまって強制終了しちゃうけど それを回避する手段も良く分からなくて 割と詰んでる… http://mevius.5ch.net/test/read.cgi/tech/1618211068/177
178: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/03(月) 18:10:31.16 ID:Ms7HJZJm0 nodebrewでnodeのバージョンを17から16に 変更したらfirebaseコマンドがzsh:not foundに なって使えなくなってさらに詰んだ… FireStoreとかは簡単だったのに functionなんか難易度高過ぎないか… http://mevius.5ch.net/test/read.cgi/tech/1618211068/178
179: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/03(月) 20:45:41.27 ID:Ms7HJZJm0 まずは環境変数ってものを勉強しないといけなさそう ほんま難しい世界やで http://mevius.5ch.net/test/read.cgi/tech/1618211068/179
180: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/03(月) 21:50:28.57 ID:Ms7HJZJm0 javaをインストールしたら fatal errorが消えた…! そんなエラーメッセージ出ないから ずっと詰まってたわ… http://mevius.5ch.net/test/read.cgi/tech/1618211068/180
181: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/03(月) 22:29:32.00 ID:Ms7HJZJm0 ようやくチュートリアルの addMessageとmakeUppercaseが動いた! 正直コピペしただけだからあまり理解出来てないけど もうちょい頑張ってみるわ これを突き詰めていけば やりたい事が出来るような気がする http://mevius.5ch.net/test/read.cgi/tech/1618211068/181
182: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/05(水) 01:47:41.58 ID:LiWeVrwK0 とりあえずチャット部屋の投稿を監視して 何か投稿があればそれをトリガーとして その部屋の過去投稿のうち1時間以上古い投稿は データベースから削除するっていう機能が出来た 凄い時間かかったけど作ってみれば10行ちょっとだった http://mevius.5ch.net/test/read.cgi/tech/1618211068/182
183: デフォルトの名無しさん (ワッチョイ aebb-UvRM) [] 2022/01/05(水) 20:56:39.86 ID:nQar49Qy0 良かったな!おめでとう 俺も今現在、詰まってるけど頑張る http://mevius.5ch.net/test/read.cgi/tech/1618211068/183
184: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/05(水) 21:42:07.48 ID:LiWeVrwK0 ありがとう まだ課題たくさんだけどひとまず何とかなった感じ 何か処理がめちゃくちゃ遅い →データを1件Firestoreに書き込むだけで 4秒くらいかかる事がある? PubSubでscheduleで処理を実行を 試したいけどemulatorでは処理が走らない →本番環境じゃないと実験出来ない Promiseとasyncとawaitの概念が 全然良くわかんない って辺りがネックで開発の進みが遅い 少しずつ理解していくしかない… http://mevius.5ch.net/test/read.cgi/tech/1618211068/184
185: デフォルトの名無しさん (ワッチョイ 2e2c-4nvB) [sage] 2022/01/05(水) 22:25:47.20 ID:gG/+AHf10 漏れは、Windows 10, WSL2, Ubuntu 18.04 だけど、 Ruby on Rails で開発するために、 日本人が作った、多言語バージョンマネージャーのanyenv で、 ruby のrbenv, node.js のnodenv を入れた node.jsを入れると、npm も入る yarn は、それとは別に入れる。 npmで入れないで、直接入れる 最近は、Docker も多い http://mevius.5ch.net/test/read.cgi/tech/1618211068/185
186: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/06(木) 12:27:05.71 ID:xaZ4QZR90 画面汚くてごめんなさい https://i.imgur.com/ivRJLP4.jpg この入力途中に出てくる小さい情報ウィンドウが バグっててちゃんとメソッド表示してくれなかったり 下の情報が常にUIColorになるんだけど どうやって直せばいいでしょうか? このウィンドウの名前分からないので 調べようもなく… http://mevius.5ch.net/test/read.cgi/tech/1618211068/186
187: デフォルトの名無しさん (アウアウウー Saa5-5U0L) [sage] 2022/01/06(木) 12:37:06.84 ID:uL0MK4GYa 画面汚すぎワロタw xcode 補完 効かない でググっていろいろ試してみたらどうか http://mevius.5ch.net/test/read.cgi/tech/1618211068/187
188: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/06(木) 13:01:05.07 ID:xaZ4QZR90 >>187 ありがとう治りました 補完か…その言葉が出て来なかった…! http://mevius.5ch.net/test/read.cgi/tech/1618211068/188
189: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/07(金) 16:16:07.99 ID:DAmLcD300 バックグラウンドに移行してある程度長い時間が 経過した後にフォアグラウンド復帰したら アプリの最初の画面に自動で戻されてしまいます これはどのアプリでもそういう仕様になってると 思うんですがひとつ問題がありまして チャットアプリを作ってるのですが OSによって強制的に部屋のビューから 最初のビューに戻されたことになるので 退室処理が正しく行われないです なので他のユーザーから見ると 既にいないユーザーがまだ部屋にいるかのように 見えてしまいます OSによる強制退室が発生する直前に アプリ側で正しい退室処理をしたいのですが OSの強制イベントを検知して アプリで終了処理をバックグラウンドで 走らせることは可能でしょうか? 可能ならメソッドやdelegate等の キーワードだけでも教えてもらえると嬉しいです http://mevius.5ch.net/test/read.cgi/tech/1618211068/189
190: デフォルトの名無しさん (ブーイモ MM6d-zmFY) [sage] 2022/01/07(金) 17:23:38.62 ID:5QHZk6u0M applicationWillResignActiveと applicationWillEnterForegroundとかで処理して 基本的なことだから公式のチュートリアル的なガイドを読んだ方がいい http://mevius.5ch.net/test/read.cgi/tech/1618211068/190
191: デフォルトの名無しさん (アウアウウー Saa5-5U0L) [sage] 2022/01/07(金) 17:50:51.98 ID:WSZPeEUFa 一定間隔で鯖にアクセスさせることにして アクセスなければ鯖側で退出処理 http://mevius.5ch.net/test/read.cgi/tech/1618211068/191
192: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/07(金) 17:53:56.91 ID:DAmLcD300 フォアグラウンドとバックグラウンドの 移行タイミングのdelegateは認識しているのですが 何が問題かと言いますと ?バックグラウンドに行く時に退室処理はしたくない →例えばブラウザを見に行ったり、別のアプリを一瞬見に行くたびに退室処理されると不便 ?バックグラウンドに行ったっきりになる可能がある →10日間くらいバックグラウンドにしたままになる 可能性に対して、実質はOSの処理によって フォアグラウンドに戻っても部屋に 戻れる可能性がないのに退室処理がされないままになる これは他のユーザーからの見え方としてまずい つまりバックグラウンドに何分いると セッションが切れるのかが分かりませんが そのタイミングで退室処理を行いたいということです それ以外のタイミングで退室処理はしたくない というのが理想です… バックグラウンドに入ったとか フォアグラウンドに戻ってきたとかの イベントを拾っても↑は実現できないので 困っていたという感じです 分かりにくくてすみません… http://mevius.5ch.net/test/read.cgi/tech/1618211068/192
193: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/07(金) 17:58:45.95 ID:DAmLcD300 >>191 なるほど 例えばバックグラウンドに入ったら ハローパケットの送信を停止して ハローパケットが5分間届かなかったら 退室処理が行われる って処理を実装する的な感じですかね なんか行けそうな気もしますが OSの強制巻き戻しが発生するタイミング以外では なるべく部屋に残留させたいので 強制ビュー巻き戻しのタイミングは 知りたいところではありますが それが分からなければ最悪その方法で 実装してみます! ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1618211068/193
194: デフォルトの名無しさん (ブーイモ MM26-zmFY) [sage] 2022/01/07(金) 18:21:36.12 ID:v3Y25r6wM フォアグラウンドの状態から通信切れてそのままだとどうするの? http://mevius.5ch.net/test/read.cgi/tech/1618211068/194
195: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/07(金) 18:25:48.71 ID:DAmLcD300 >>194 機内モードとかにして通信が切れた時は アプリで検知できるので仮退室モードにしていて メッセージ送信ボタンを押せなくしてます 急にタスクキルしてアプリ終了したときは cloudFunctionのonDisconnectが働いて 退室処理がされるようになってます http://mevius.5ch.net/test/read.cgi/tech/1618211068/195
196: デフォルトの名無しさん (ブーイモ MM26-zmFY) [sage] 2022/01/07(金) 21:51:27.30 ID:SCUM5U6zM なぬ、Realtime database使ってたのか http://mevius.5ch.net/test/read.cgi/tech/1618211068/196
197: デフォルトの名無しさん (オッペケ Srf1-8VTm) [] 2022/01/07(金) 22:08:31.17 ID:3inHBBtcr flutterに挑戦してみたけど自分には手に負えなさそう http://mevius.5ch.net/test/read.cgi/tech/1618211068/197
198: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/08(土) 01:40:25.57 ID:VMaFtCS80 >>196 Realtime databaseで各部屋の 接続中のユーザーリストを管理してます ・ユーザーが退室する(退室ボタンを押す) ・Firebaseとの接続が切れる(onDisconnect) は検知して対応できるんですが 知らぬ間にOSに殺された時は onDisconnectも発火しないようで ゾンビユーザーとしてrealtime databaseに 残ってしまうようです http://mevius.5ch.net/test/read.cgi/tech/1618211068/198
199: デフォルトの名無しさん (ワッチョイ aebb-UvRM) [] 2022/01/08(土) 08:52:04.10 ID:8xL1aVgM0 >>198 BGに移行するタイミングでステータスを鯖で保存、仮で退出とかね 一定時間が経過したら鯖で退出処理を行う FGに戻ったタイミングでiOSから鯖のステータスを確認したらどうだろう? http://mevius.5ch.net/test/read.cgi/tech/1618211068/199
200: デフォルトの名無しさん (ワッチョイ aebb-UvRM) [] 2022/01/08(土) 08:59:52.41 ID:8xL1aVgM0 あとは Background Processing Tasks で対応する感じかなー 俺は使ったことないけど参考になれば http://mevius.5ch.net/test/read.cgi/tech/1618211068/200
201: デフォルトの名無しさん (ワッチョイ 5f5f-IE4p) [] 2022/01/10(月) 08:26:23.37 ID:rTHx2WDN0 15秒毎にアクセストークン再発行させるとか DHCP refreshみたいな http://mevius.5ch.net/test/read.cgi/tech/1618211068/201
202: デフォルトの名無しさん (ベーイモ MM8f-VN2a) [] 2022/01/10(月) 09:25:39.30 ID:MrKjAfcIM 課金が難しい レシート発行以降が全然わからない 公式や説明してくれてるサイトも結構あるがどれもわかりにくい http://mevius.5ch.net/test/read.cgi/tech/1618211068/202
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 210 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.007s