Swift part13

1デフォルトの名無しさん (ワッチョイ 0f2d-WqpA)
垢版 |
2021/04/12(月) 16:04:28.17ID:UoC5n/T70

Swiftについて語りましょう

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1540818496/

スレ立て時は1行目に「!extend::vvvvv」
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2022/01/06(木) 12:37:06.84ID:uL0MK4GYa
画面汚すぎワロタw

xcode 補完 効かない

でググっていろいろ試してみたらどうか
188デフォルトの名無しさん (ワッチョイ 4592-6dX5)
垢版 |
2022/01/06(木) 13:01:05.07ID:xaZ4QZR90
>>187
ありがとう治りました
補完か…その言葉が出て来なかった…!
189デフォルトの名無しさん (ワッチョイ 4592-6dX5)
垢版 |
2022/01/07(金) 16:16:07.99ID:DAmLcD300
バックグラウンドに移行してある程度長い時間が
経過した後にフォアグラウンド復帰したら
アプリの最初の画面に自動で戻されてしまいます
これはどのアプリでもそういう仕様になってると
思うんですがひとつ問題がありまして

チャットアプリを作ってるのですが
OSによって強制的に部屋のビューから
最初のビューに戻されたことになるので
退室処理が正しく行われないです
なので他のユーザーから見ると
既にいないユーザーがまだ部屋にいるかのように
見えてしまいます

OSによる強制退室が発生する直前に
アプリ側で正しい退室処理をしたいのですが
OSの強制イベントを検知して
アプリで終了処理をバックグラウンドで
走らせることは可能でしょうか?

可能ならメソッドやdelegate等の
キーワードだけでも教えてもらえると嬉しいです
2022/01/07(金) 17:23:38.62ID:5QHZk6u0M
applicationWillResignActiveと
applicationWillEnterForegroundとかで処理して

基本的なことだから公式のチュートリアル的なガイドを読んだ方がいい
2022/01/07(金) 17:50:51.98ID:WSZPeEUFa
一定間隔で鯖にアクセスさせることにして
アクセスなければ鯖側で退出処理
192デフォルトの名無しさん (ワッチョイ 4592-6dX5)
垢版 |
2022/01/07(金) 17:53:56.91ID:DAmLcD300
フォアグラウンドとバックグラウンドの
移行タイミングのdelegateは認識しているのですが
何が問題かと言いますと

@バックグラウンドに行く時に退室処理はしたくない
→例えばブラウザを見に行ったり、別のアプリを一瞬見に行くたびに退室処理されると不便

Aバックグラウンドに行ったっきりになる可能がある
→10日間くらいバックグラウンドにしたままになる
可能性に対して、実質はOSの処理によって
フォアグラウンドに戻っても部屋に
戻れる可能性がないのに退室処理がされないままになる
これは他のユーザーからの見え方としてまずい

つまりバックグラウンドに何分いると
セッションが切れるのかが分かりませんが
そのタイミングで退室処理を行いたいということです
それ以外のタイミングで退室処理はしたくない
というのが理想です…

バックグラウンドに入ったとか
フォアグラウンドに戻ってきたとかの
イベントを拾っても↑は実現できないので
困っていたという感じです

分かりにくくてすみません…
193デフォルトの名無しさん (ワッチョイ 4592-6dX5)
垢版 |
2022/01/07(金) 17:58:45.95ID:DAmLcD300
>>191
なるほど

例えばバックグラウンドに入ったら
ハローパケットの送信を停止して
ハローパケットが5分間届かなかったら
退室処理が行われる

って処理を実装する的な感じですかね
なんか行けそうな気もしますが
OSの強制巻き戻しが発生するタイミング以外では
なるべく部屋に残留させたいので
強制ビュー巻き戻しのタイミングは
知りたいところではありますが
それが分からなければ最悪その方法で
実装してみます!

ありがとうございます
2022/01/07(金) 18:21:36.12ID:v3Y25r6wM
フォアグラウンドの状態から通信切れてそのままだとどうするの?
195デフォルトの名無しさん (ワッチョイ 4592-6dX5)
垢版 |
2022/01/07(金) 18:25:48.71ID:DAmLcD300
>>194
機内モードとかにして通信が切れた時は
アプリで検知できるので仮退室モードにしていて
メッセージ送信ボタンを押せなくしてます

急にタスクキルしてアプリ終了したときは
cloudFunctionのonDisconnectが働いて
退室処理がされるようになってます
2022/01/07(金) 21:51:27.30ID:SCUM5U6zM
なぬ、Realtime database使ってたのか
197デフォルトの名無しさん (オッペケ Srf1-8VTm)
垢版 |
2022/01/07(金) 22:08:31.17ID:3inHBBtcr
flutterに挑戦してみたけど自分には手に負えなさそう
198デフォルトの名無しさん (ワッチョイ 4592-6dX5)
垢版 |
2022/01/08(土) 01:40:25.57ID:VMaFtCS80
>>196
Realtime databaseで各部屋の
接続中のユーザーリストを管理してます

・ユーザーが退室する(退室ボタンを押す)
・Firebaseとの接続が切れる(onDisconnect)

は検知して対応できるんですが
知らぬ間にOSに殺された時は
onDisconnectも発火しないようで
ゾンビユーザーとしてrealtime databaseに
残ってしまうようです
199デフォルトの名無しさん (ワッチョイ aebb-UvRM)
垢版 |
2022/01/08(土) 08:52:04.10ID:8xL1aVgM0
>>198
BGに移行するタイミングでステータスを鯖で保存、仮で退出とかね
一定時間が経過したら鯖で退出処理を行う
FGに戻ったタイミングでiOSから鯖のステータスを確認したらどうだろう?
200デフォルトの名無しさん (ワッチョイ aebb-UvRM)
垢版 |
2022/01/08(土) 08:59:52.41ID:8xL1aVgM0
あとは Background Processing Tasks で対応する感じかなー
俺は使ったことないけど参考になれば
201デフォルトの名無しさん (ワッチョイ 5f5f-IE4p)
垢版 |
2022/01/10(月) 08:26:23.37ID:rTHx2WDN0
15秒毎にアクセストークン再発行させるとか
DHCP refreshみたいな
202デフォルトの名無しさん (ベーイモ MM8f-VN2a)
垢版 |
2022/01/10(月) 09:25:39.30ID:MrKjAfcIM
課金が難しい
レシート発行以降が全然わからない
公式や説明してくれてるサイトも結構あるがどれもわかりにくい
203デフォルトの名無しさん (アウアウウー Saa3-RL4G)
垢版 |
2022/01/10(月) 14:35:03.88ID:ygI/nSs1a
SwiftUIってかなり仕上がってきてると思ってるんだけど、今までのアプリを書き直す勇気が出ない
新規アプリはSwiftUIだけで書くのが正解?
204デフォルトの名無しさん (ワッチョイ 5f92-5C40)
垢版 |
2022/01/10(月) 20:20:03.17ID:Qk5VtnkG0
SwiftUI覚えたくてアプリ作ろうと思ったものの
色々と知識が欠乏してるから
途中でSwiftUIだと出来ない事が発覚したら
凄いショックだろうなと思って
いつもヒヨってSwiftで書き始める…
205デフォルトの名無しさん (ワッチョイ ffbb-RL4G)
垢版 |
2022/01/10(月) 21:44:26.95ID:sCgCG9i+0
今のところSwiftUIで実現できないことはないけど、情報が少ないと思うかな
206デフォルトの名無しさん (ワッチョイ df2d-WBrE)
垢版 |
2022/01/11(火) 01:30:54.21ID:EIVh7TWy0
いつかSwiftUIに移行する気なら早い方がいいんじゃないかな
これから追加されていくんだし
2022/01/11(火) 02:23:12.49ID:zCgalINB0
ライブラリが使えなさすぎて実用性皆無
208デフォルトの名無しさん (ワッチョイ 5f92-5C40)
垢版 |
2022/01/11(火) 17:24:37.86ID:FW4TCEcd0
FirebaseのRealtime databaseを使ってるんだけど
observerで値を監視していて変化があれば
通知が届くようになってるんですが

@iPhoneをロック状態にする
Aデータベースの値をいじる
BiPhoneをスリープから復帰させる
C手動でdatabaseの値を取得する

という手順で行った場合
Cのデータ取得時にAでいじる前の
データが取れているような挙動をするんですが
それって正常ですか?
コンソールログを見ていると
Cで取得でデータを取得した後に
Aでいじった値変更イベントが届いてます

変更イベントが届く届かないに関わらず
直接サーバーにアクセスして値を取得してるので
最初の状態の値が取れて欲しいのですが、、、
209デフォルトの名無しさん (ワッチョイ 5f92-5C40)
垢版 |
2022/01/11(火) 17:33:43.74ID:FW4TCEcd0
ちなみに似たような手順なのですが

@アプリをバックグラウンドにする
Aデータベースの値をいじる
BiPhoneをフォアグラウンドに復帰させる
C手動でdatabaseの値を取得する

で行った場合は少し挙動が違って
Bの復帰時に必ず先に変更イベントが届くので
手動で取得した値は最新のものになってます

手動っていうのはボタンを押すとかじゃなくて
getDataメソッドを実行しているということです

このロック画面からの復帰か
バックグラウンドかの復帰かの微妙な違いによって
アプリの挙動が変わってしまって
困っている感じです

ロック画面の時も最新のデータを取りたいのですが
普通にgetDataで最新じゃないデータになるなんてこと
あるんでしょうか?
Aは直接サーバーのデータをいじってます
210デフォルトの名無しさん (ワッチョイ 5f92-5C40)
垢版 |
2022/01/11(火) 17:58:28.76ID:FW4TCEcd0
バックグラウンド中とロック画面(スリープ中)は
一度オブザーバーの監視を切って
フォアグラウンド復帰時に手動でデータを取得した後
オブザーバーの監視を再開したら
ちゃんと最新のデータが取れる様になりました

後学のために聞きたいのですが
オブザーバーで監視中はオブザーバーが
受けたイベントが最優先でサーバーの
状態だと判定されるんですかね?
211デフォルトの名無しさん (ワッチョイ 5f92-5C40)
垢版 |
2022/01/11(火) 19:03:34.75ID:FW4TCEcd0
関係ないけど有料アプリを公開してて
本名晒さないといけないのキツいなぁって思ってたけど
調べてみたらAndroidの場合は住所公開しないと
いけないらしくてもっとキツくてワロタ

悪どいこととか詐欺は考えてないし
そういう仕様にしたい気持ちは分かるけども
何かあったら日本中世界中からフルボッコに
されてしまうこの時代に本名住所公開って
怖すぎませんかね…
2022/01/11(火) 19:54:46.51ID:958JvsWta
むしろ金取るのに匿名のほうがおかしいと思うべきw
213デフォルトの名無しさん (ワッチョイ 5f92-5C40)
垢版 |
2022/01/11(火) 20:00:28.09ID:FW4TCEcd0
>>212
まぁ確かに言われてみるとそうなんだけどもさ…
214デフォルトの名無しさん (ワッチョイ ffbb-RL4G)
垢版 |
2022/01/11(火) 20:23:03.66ID:/V3cRWTB0
本名がイヤだったから法人を作った俺みたいなやつも居てるよ
2022/01/11(火) 22:34:10.52ID:TAtkceMX0
不動産とか、会社の役員とか、すべて公開されている。
N国の立花は、NHK 会長のマンションの前で、選挙演説をしていたw

車の所有者もかな?
216デフォルトの名無しさん (ワッチョイ ffbb-RL4G)
垢版 |
2022/01/12(水) 07:17:57.05ID:1g7peeJL0
いきなりどうしたの?
2022/01/12(水) 10:42:17.18ID:mMkAf35E0
SwiftUIのネーミング腹たつわ
なにがTextだよTextViewにしとけや
かと思えばProgressViewお前なんでProgressじゃねぇんだよ
FoundationにすでにProgressがあるからってか
じゃあ全部View付けて統一しとけks
218デフォルトの名無しさん (ワッチョイ 5f92-5C40)
垢版 |
2022/01/13(木) 23:12:02.51ID:ZbjUGHbP0
iPhoneアプリの公開の仕方の情報は沢山あるんですが
2本目を出すときの事がちんぷんかんぷんなので
教えてもらえたら嬉しいです

https://zenn.dev/moutend/articles/feebf0120dce6e6426fa
を見てるんですが1本目の公開と違って
必要ない手順がいくつかあると思うんですが

この中で手順5と手順6の
Certificateの作成とProvisioning Profileの作成は
2本目の公開からは必要のない手順になりますか?

それとも全ての手順が毎回の公開において
必要なのでしょうか?
2022/01/14(金) 00:13:06.59ID:lA7xgK+uM
手順3
からだよ
2022/01/14(金) 00:14:50.29ID:vYo4PTYGM
あと5,6は要らない
221デフォルトの名無しさん (ワッチョイ 5f92-5C40)
垢版 |
2022/01/14(金) 00:45:17.70ID:vhbaNPCz0
3から始めて56飛ばしですね
ありがとうございます
222デフォルトの名無しさん (ワッチョイ 5f92-5C40)
垢版 |
2022/01/14(金) 04:20:50.76ID:vhbaNPCz0
5は飛ばせたけど6を飛ばしたら
7で詰まったから3から始めて5飛ばしが
2回目以降のやり方のようです

自分用のメモとして
2022/01/14(金) 06:47:04.63ID:7uppGJwx0
SwiftUIやるくらいならflutter
と言うかSwift面倒くさくてやりたくない
ほとんどの情報が古い
224デフォルトの名無しさん (ワッチョイ ffbb-iVoK)
垢版 |
2022/01/14(金) 08:11:50.68ID:GkEJGwIE0
なんか分かる気がする、まずXcodeが出してくれるエラーの意味を覚えたらラクになるよ
あとはAppleのドキュメントの読み方と意味かな
情報は古いものが多いけど、コピペしてエラー修正を繰り返すと意外と理解も深まるよ
225デフォルトの名無しさん (ワッチョイ ffbb-iVoK)
垢版 |
2022/01/14(金) 08:15:25.06ID:GkEJGwIE0
ちなみにFlutterも良い選択肢だと思うよ
226デフォルトの名無しさん (ワッチョイ 2592-SRyr)
垢版 |
2022/01/16(日) 21:28:40.98ID:l0SZwppy0
https://i.imgur.com/xeClwjB.jpg
kernで文字間を調整してるんですが
どうもiOS15だとこの設定が効かないようです
1.5を極端に大きい数字にしても文字間が変わりません

iOS15でUIButtonのtitleLabelの
文字間を変えるにはどうすればいいんでしょうか
2022/01/18(火) 08:59:18.00ID:MNSp/LCb0
Ipad向けの開発で場合、SwiftかC#かで悩んでいます
Apple製だけあってSwiftの方が相性がよいでしょうか?
2022/01/18(火) 09:00:11.84ID:MNSp/LCb0
ちょっと1行目日本語変だけど許して(´・ω・`)
229デフォルトの名無しさん (ワッチョイ 7fbb-X93x)
垢版 |
2022/01/23(日) 23:01:25.57ID:KHDl5Bzx0
>>226
こちらどうぞ

https://developer.apple.com/documentation/swiftui/text/kerning(_:)
230デフォルトの名無しさん (ワッチョイ 7fbb-X93x)
垢版 |
2022/01/23(日) 23:12:42.79ID:KHDl5Bzx0
>>227
特別な縛りがないならSwiftの方が断然良いと思います、環境構築から色々と面倒だと思います
231デフォルトの名無しさん (ワッチョイ 7f2c-tE0H)
垢版 |
2022/01/25(火) 19:32:02.46ID:qI0QRR4u0
テストアプリをiPhone実機に
インストールしたら
7日間は、動作しました。
無料開発ライセンスです。

99ドル払うと、
1年間は、アプリが動作する?
2022/01/25(火) 21:37:37.56ID:f1ijzchVM
>>231
暇なら7日おきに署名して再インストール
233デフォルトの名無しさん (ワッチョイ eb92-nldK)
垢版 |
2022/02/12(土) 00:30:08.86ID:vUt8a3110
LisencePlistで質問なのですが手動で追加したライブラリの場合
yamlというものを使うと公式ページに書いてあるのですが
yamlファイルの中身の記述方法だけ書いてあって
どのようにそれを追加するのか設定するのか
全く分からない状態です

他のWebサイト見てもみんな普通に出来ていて
どうして何の説明もなしに出来るのか分からないです

yamlはjsonファイルみたいなものって事は分かったのですが
プロジェクトファイルに入れてみても特に変化ないし
やり方教えてくれるいませんでしょうか
234デフォルトの名無しさん (ワッチョイ eb92-nldK)
垢版 |
2022/02/12(土) 00:57:54.58ID:vUt8a3110
手動で追加したライブラリという表現は間違えました
手動で追加したのはライブラリではなく
ライセンスのある画像です
(なのでライセンス表記が必要)
235デフォルトの名無しさん (ワッチョイ 6fe9-EcOz)
垢版 |
2022/02/19(土) 14:10:42.96ID:EoKV49bv0
iOS開発初学者なんですけど、object-cはもう滅んで、
今はswiftのみって認識で良いですか?
236デフォルトの名無しさん (ワッチョイ cf2d-jDWp)
垢版 |
2022/02/19(土) 14:14:32.39ID:96einUMG0
object-cとstory boardに未来はないが過去がある
2022/02/19(土) 14:18:59.46ID:LgJyK7ec0
C++とブリッジするのにまだObjC使う
238デフォルトの名無しさん (ワッチョイ 6fe9-EcOz)
垢版 |
2022/02/21(月) 21:55:13.38ID:lWD1PAaP0
Swift初学者ですが、Object-Cが関わる開発には近づかない方が良いですね。
新規開発はSwiftになるし、これから憶える学習コストを負担してくれる
リッチな会社なんて少ないでしょうし。
239デフォルトの名無しさん (スプッッ Sd1f-pGbx)
垢版 |
2022/02/21(月) 22:34:34.34ID:PxNPvIJfd
なんでも好奇心持って取り組んだらいいやん。
どれも似たようなもんだ。
2022/02/22(火) 06:31:38.95ID:5hBM7pwCa
というかObject-Cが関わる開発に昔からの人を当てることができない時点で組織が悪い
241デフォルトの名無しさん (スッップ Sdea-Ayd8)
垢版 |
2022/02/27(日) 03:04:42.58ID:zd3Lh+1id
ロシア除名か。
2022/02/27(日) 12:23:42.04ID:hkoykGPGa
国際銀行間通信協会
2022/02/28(月) 04:16:39.17ID:R1oG16cf0
swiftとは何か?もまいら説明してやれ。
2022/03/07(月) 04:34:40.00ID:t70FSnsj0
ロシアでApple製品売らなくなったので、結果的に Swift はロシアで使われなくなるだろう。
245デフォルトの名無しさん (ワッチョイ ab01-4HNu)
垢版 |
2022/03/10(木) 07:09:04.95ID:oH44GISB0
Swift Playgroundsはどうなんかね
Macしか持ってないから体験談が聞きたい
246デフォルトの名無しさん (ワッチョイ ab01-4HNu)
垢版 |
2022/03/10(木) 07:10:43.37ID:oH44GISB0
>>244
ロシア独自OSと開発言語作るしかない
西側文明品は全て手に入らなくなるからね
中国は売るだろうけど
247デフォルトの名無しさん (ワッチョイ 0fbb-2nly)
垢版 |
2022/03/10(木) 08:50:02.84ID:ktN5fxR90
どうって言われても、何を聞いてるか分からん
2022/03/10(木) 15:30:13.63ID:6t+56HtO0
4.0出てからまだ日は浅いから自分で触った方が早いんじゃない?
Mac版あるし無償だし
249デフォルトの名無しさん (ワッチョイ 890a-5Tba)
垢版 |
2022/03/30(水) 06:04:51.31ID:OAh17Gtx0
てすとん。
250デフォルトの名無しさん (ワッチョイ a2bd-9PHq)
垢版 |
2022/03/30(水) 15:16:59.08ID:t2ScjkFo0
10年ぶりにプログラミング学習勧めてるけどpython面白いなー
5chではそんな流行ってない感じ?
2022/03/30(水) 15:45:09.64ID:jIJ9AQmw0
py流行ってないとかどこのパラレルワールドだよ
252デフォルトの名無しさん (ワッチョイ 5d92-P9cH)
垢版 |
2022/04/06(水) 11:05:45.41ID:fl2nQWGc0
CollectionViewで複数のセルを選択するデザインを作っているんですが
didSelectItemAtのdelegateの中でセルにボーダーを付けて
didDeselectItemAtのdelegateの中でセルからボーダーを消す
という実装方法で正常に動いています

それとは別に全選択と全解除のボタンを用意したのですが、
@全選択を押した時にdidSelectItemAtを呼び出す
A全てのセルにボーダーがつく
ここまでは意図した動きになっているのですが
B特定のセル(ボーダー付きのセル)をクリックする
CなぜかdidSelectItemAtが発行されてしまう

Cのタイミングではボーダーを取り除いて選択解除したいのですが
なぜかdidSelectItemAtの方が発火されてしまいます
もう一回同じセルをタップすると今度はDeselectの方が呼ばれるので
選択解除になります。

自分でボーダーを付けているので選択している風に見えているのですが
実際にはプログラム内部的にはそのセルは選択されていないと見なされて
いるんじゃないかなと予想しているのですが
何をすれば選択状態と見なされるのかが分からず、、、

お詳しい方おしえていただけると助かります
253デフォルトの名無しさん (ワッチョイ 12bd-Z6wP)
垢版 |
2022/04/11(月) 17:54:02.52ID:qj78JJCJ0
即日採用、Swift 5000万MAUのサービス
って何の案件?

デスマしか予想できなくって応募するのが怖いんだけど
人がいなくなって回らなくなった現場ってことでしょ?
254デフォルトの名無しさん (ワッチョイ 12bd-Z6wP)
垢版 |
2022/04/11(月) 17:57:08.73ID:qj78JJCJ0
>>252
Aをフラグ値で記憶して動作を変えればおk
255デフォルトの名無しさん (ワッチョイ 1fbd-fczT)
垢版 |
2022/04/18(月) 03:58:06.64ID:w0YDZlGF0
このスレ生きてるの?
256デフォルトの名無しさん (ワッチョイ 9f7c-Ckae)
垢版 |
2022/04/18(月) 12:26:01.70ID:DordoPmW0
きれいな顔してるだろ?
257デフォルトの名無しさん (ワッチョイ 1fbd-v8aA)
垢版 |
2022/04/18(月) 22:45:52.53ID:w0YDZlGF0
3回も整形してるんだぜ?
2022/04/28(木) 13:32:38.91ID:uaPk/OUM0
swift勉強し始めたけど、本やネットの情報が古くて困る。
2022/04/28(木) 16:36:32.55ID:kw54Tu9T0
言語関係なしに新しい情報が欲しかったら英語必須みたいなとこあるからね・・・
260デフォルトの名無しさん (ワッチョイ 4d2d-rMBA)
垢版 |
2022/06/07(火) 05:36:34.85ID:am4i+Ygs0
WWDC22
公式が匂わすから何かあるのかと思ったら特に何もなかったな
https://iphone-mania.jp/uploads/2022/06/wwdc22-hashflag.png
261デフォルトの名無しさん (ワッチョイ 0a7c-rMBA)
垢版 |
2022/06/07(火) 13:27:45.63ID:Pa97Qrlk0
正規表現リテラルが書けるようになりました!(ドヤァ
262デフォルトの名無しさん (ワッチョイ 8563-B2F4)
垢版 |
2022/06/09(木) 01:11:38.24ID:7gjQOeD60
FloatingPanelを使ってみたくて導入をしたんですけど、これってWebView使ってブラウザ表示は出来ないんですか?
ViewControllerにWebViewを置いただけにしてGoogleを表示させようとするとwebview.load(xxx)の部分でエラーが出てクラッシュするんですよね。
FloatingPanelを使わないで推移すると普通にGoogleが表示されるし、WebView消して何も無い状態であれば問題なくFloatingPanelの形でViewだけが表示される。
誰か助けて。
263デフォルトの名無しさん (アウアウウー Sa11-+J4x)
垢版 |
2022/06/10(金) 13:09:48.21ID:rQnghZ0Oa
core motionで取得した姿勢データと時刻データとをcore dataで保存しようとしているのですが、60Hzでcore data のsaveを行って平気でしょうか。
通常、このくらいのスピードならデータを溜めてからsaveとかしないものですか?
2022/06/12(日) 06:50:52.06ID:cQnsuKUgM
バッテリーに優しくない
265デフォルトの名無しさん (ワッチョイ cfbb-uj9U)
垢版 |
2022/06/12(日) 09:47:43.70ID:vZJzm+Z80
>>263
試した方が早いと思う
結果は教えてください><
2022/06/12(日) 19:42:57.23ID:FjWJloZ50
わいのアプリ100Hzでやってるんだけどやっぱバッテリー負荷でかいんかな
どの程度変わるのか気になる
267263 (アウアウウー Sa67-gL1p)
垢版 |
2022/06/16(木) 13:09:25.66ID:w9Z3XyO2a
まとめてからsaveのやりかたが分からんかったから、60hzで一個一個saveしたけど、特に問題なさそうだった。なので比較はできなかった。
2022/06/16(木) 22:13:56.44ID:uSLlxrtm0
saveってどんな感じで処理してんの?
自分は素人だから配列にどんどん放り込んでるんだけどアカンのかな
269263 (アウアウウー Sa67-gL1p)
垢版 |
2022/06/17(金) 15:02:54.43ID:6CJ/0cyua
CoreDATAだから、その1レコード分の変数に値を入れてsaveです。
2022/06/17(金) 18:19:26.19ID:CrUkZUdHM
contextにinsertするのと
contextをsave(永続化)するのと分けて考えなよ

60Hzでsaveする必要がないならやめたほうがいい
2022/06/17(金) 20:48:31.97ID:UprkM5oO0
CoreDataがわからん
トーシロにはついていけまへんわ
272263 (アウアウウー Sa47-Zgr3)
垢版 |
2022/06/18(土) 20:37:44.39ID:toWgj+ZRa
insertってのがあったのか。データロストは嫌なので、10秒ごとにセイブするか。
swiftってほんとリファレンス見つけにくい。てか、普通のリファレンスってあるのか?
273263 (ワッチョイ cebb-Zgr3)
垢版 |
2022/06/19(日) 01:02:28.43ID:LtmEWguN0
10秒ごとにsaveしてみた。
20秒データとって見たところ、
600番と1200番付近に、インターバルの偏りが生じた。
ふつうインターバル0.000000347ごとに1レコードなのに、
0.0000004051
0.0000002893
0.0000003473
とか、
インターバルは年月日時間を数値化したやつ,

task.を使えばなおるかと思ってやってみたら、1レコード分飛んでた。

毎回saveで電池の減りとか目立ってないし、それが一番や
2022/06/19(日) 01:17:26.34ID:8rpwBneL0
電池の減りとか負荷ってどうやってみるの?
XcodeのInstrumentsってやつでみればいいの?
アプリ走らせても大してCPUやメモリの使用率が変わらなかったから問題ないんかのぅ
2022/06/19(日) 01:48:42.75ID:ogxwdH3SM
>>273
それ保存処理待ってから次のインターバル計測してるからじゃないの?

>>274
Instrumentsにそれ専用のテンプレートがある
Xcodeのデバッグゲージでもある程度わかる
最初にEnergy Efficiency Guideを読むといいと思う
2022/06/19(日) 11:04:39.81ID:8rpwBneL0
>>275
ありんす
デバックでみてみた
バッテリーへの影響はあまり変わらなそうだったけど、100Hz→10Hzにしても支障なさそうだから変更しました
277263 (アウアウウー Sa47-Zgr3)
垢版 |
2022/06/22(水) 16:27:19.59ID:4aFGkTjqa
taskというやつで、別スレッドでセイブになってると思ってる。その場合、多分、saveに時間がかかってるときに、insert処理が重なって、1レコードロストしたと思う。
2つのCoreDATAを使って交互に使えば大丈夫だと思うけど、ハードディスクに書き込んでるわけじゃないし、そこまで必要ない気がする。
278デフォルトの名無しさん (アウアウウー Sa47-Zgr3)
垢版 |
2022/06/23(木) 16:28:37.71ID:FMbuPg+la
musickitのapplicationmediaplayer.sharedでapple music のstationを再生すると、曲が進むたびに次の曲が.Queueに追加されていく。自動で。
一体、どういうメカニズムでそんなことが実現できているんだ?
教科書みたいなもの教えて
2022/07/09(土) 15:33:24.35ID:vWMSxuoIM
この文法が分からん

extension Int
{
// パーセントから割合に変換
var Rate: Float
{
return (Float)(self) / 100.0
}
}
print(80.Rate) // 0.8


(Float) (self)ってなんぞ?

解説あるHPとか教えて

このHPで見かけたんやが...
https://tc-kazuki.hatenablog.jp/entry/2017/12/01/224205
2022/07/09(土) 16:04:06.10ID:vWMSxuoIM
自己解決した

数年前にhaskellで遊んでみた事があったけど、swiftでも出来るんかい!
281デフォルトの名無しさん (アウアウウー Sa39-p4J9)
垢版 |
2022/07/16(土) 14:22:09.89ID:V6oUos5ia
AVAudioPlayerでデカめのファイル再生したら、音質が下がりまくる。
4〜5分ぐらいのファイルなら問題ないんだけど
120分ぐらいのやつになるとAMラジオ並みの低品質に。

まぁ簡易的なAPI、ってことみたいだしな...
と思って、ここ↓を参考に、AudioQueueServicesでトライしたけど解消せず。
https://qiita.com/DaisakuEjiri/items/0608dcf70eaf9c69fbf6

ちなみに、Fileアプリで同じファイルを再生してみたら
傾向は全く同じ。
でも、VLCとかESFileExplorerとかで再生したら良い音。

どなたかご存知でしたらタスケテ...。
282デフォルトの名無しさん (ワッチョイ 615f-vGT3)
垢版 |
2022/07/16(土) 18:16:51.66ID:l45HFiOT0
長時間てことは圧縮音源?
ffmpegとかで音声をトランスコードすると解消するなら元ファイルの互換性問題。

・古いmp3ファイルとかなら結構Appleデコーダと互換性問題があった気がする。
・非圧縮に変換すれば解消するか?音源の長さが微妙に変わるケースを考慮。
・AAC-LC(.m4a)にトランスコード(強制再エンコード)したら解消するか?
283281 (ワッチョイ ae33-iEO+)
垢版 |
2022/07/16(土) 20:47:47.37ID:t9Asa6u90
>>282
ありがとうございます!
ファイルはm4aなんですが
追加で幾つかファイルを準備して比較してみようと思います。

ちなみに、他のアプリでもちょっと試してみたのですが
 再現あり:File
 再現なし:VLC、ES File Explorer
という感じでした。
VLCはffmpegらしいので、参考にしづらい…。
2022/07/17(日) 17:23:02.63ID:uGMYcOATa
ec2で開発&リリースっていけますか?
285281 (ワッチョイ ae33-uSPY)
垢版 |
2022/07/17(日) 17:24:56.42ID:CdzvsI7x0
>>282
元ファイルの問題でビンゴでした…。
サイズ云々では無かったようです。

とりあえず、元ファイルをm4aをMacのMusicアプリでmp3に変換した結果
ファイルサイズは144MBに膨れ上がったんですが、音質は正常になりました。
ありがとうございました!

こういった諸々は、APIが上手いとこやってくれるんだろうなー
ぐらいに思ってたのですが、簡単に考えてはいけないですね。
勉強になりました。
2022/08/21(日) 21:31:37.82ID:t1upktxs0
他の画面で正常に動いてるClassが1つのViewControllerでだけ動かん
なんこれー
原因全然わからん
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況