iOSDC 2024見聞録
@dsxsxsxsです。今年もつぶやき感覚で書いていきます。
ほぼ当日中書いた。我流実況+感想。これこそ見聞録かな。
開催前
LTプロポーザル2本出したら全部落ちた。倍率えぐかったな。
今度6本くらい出そう。
今年はちゃんとノベリティー確保。
箱が軽い。今年は食料品少なめです。
Day0
オンライン勢です。
Swiftコードバトルを覗きつつ、メインはトーク視聴でした。
競プロ楽しそう。混ぜたいけど今はスキル不足ですね。
App Clipの魔法: iOSデザイン開発の新時代
log5さんによる講演、手書きの絵が面白すぎる!
レジでアプリ入れてよって焦るあるある話→App Clip作るチャンス
App Extensionみたいな立ち位置、Targetは別
Preprocessor Macroで分岐作れる。親アプリの実装を流用可能
Debug環境では親アプリ必須。Clipだけインストールすることはできない
企業アプリは非サポート
WWDC2024にApp Clipのセッションはなかった。そろそろ見捨てられるか?
StoreKit 2によるモダンなアプリ内課金
STOREさんのプロポーザル全部採択!すごい!羨ましすぎる。
アップル税鬼杉
StoreKit 2には面倒なレシート検証が不要になった。シンプルに
非消耗型やサブスク系には有効性チェックとか入る
XCodeの設定いじれば自動テスト可能
使った、削除したProduct IDは二度と使用不可
Product ID間違えたとかの事情はサポートにお願いしてれば直してもらえそう
アプリレビュー時に新規Productを見たいって言われるので、レビュー用のアカウントや特定実装等を用意しておこう
健康第一!MetricKitで始めるアプリの健康診断
触ってみたかったやつです。
送信頻度少なすぎ、1日一回
iOS15, macOS12以降は即時。なんで?
実機必要、XCodeでMetricKit Payloadを飛ばせる
AppDelegateからデータを受け取れるので、それを Crashlytics等の外部Loggerへ転送すると良い
Crashlyticsでは拾えなかったcrashを補うとか
Appleの統計によれば、一番多かったクラッシュはメモリ不足(Jetsam)
続・SharePlayの歴史と進化 iOS18とApple Vision Proにおける新展開
Appleさんが考えた「共有体験」。ただの画面共有機能ではない
歴史面白い
SharePlayはVision OSの根幹と言っても過言ではない
Appleさんによる圧がすごい
空間ペルソナ面白そう
5人囲まれたペルソナの開発検証にはVision Pro5台必要でした
¥300万よ!無理すぎるw
今はXCodeで5台シミュレーション作れるっぽい?
新OSの機能を古いOSに バックポートするための仕組み
なんとかBackportしてやりたいあれこれとか無限にあるんですね。
虹色グラデーション格好良い!ってか動くぞこれ!
Dynamic Linkingの仕組み理解
案外Appleさん頑張って色々Backportしてくれた。
Swift Macroを活かしてBackportと新APIを包んだ箇所を隠蔽しよう
Appleさん結構そうしてる。
OSS界隈のBackport資源もある。品質はわからん
自前Backport実装にはnamespaceつけよう
day2懇親会で聞いてみた:同じsignatureでbackportする方法はないだそうです。バッティングするので
当然やん。愚問でした。
Today's Update
明日ビンゴやろう
ビールの消費量すごい。想定150本が実際300本以上飲まれた。
みんなよく飲むね
明日早起きや。
Day1
寝坊した。会場についたらもう10時過ぎ。ドーナツ梨。無念。
Today's Update
スポンサ2倍増えたん?すごい!
アプリバイナリ解析入門 〜実機向けバイナリをARM64シミュレータ向けに変換する方法を例に
.oからheaderを改ざんし、.aを作り直す方法を知れた。面白い!
質問してみた:今までこうやって変な不具合を起こしたことなかったらしい!
開発を加速する共有Swift Package実践
満席、入れんかった。無念。また後で見よう。
スタンプラリー
スタンプラリーコンプした。たこ焼き*8とクレープ*8をただで食える。
流石に食べ切れんので配ってた。
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
レジェンド5人並んで座ってるの迫力ありますね。豪華キャスト!
とりあえず脳死で @unchecked Sendableつけて、まずはSwift 6に上げるのを目標にしろ!まじ同感です!
大抵の処理はMainActorでやっていい。本当に重い処理はやめろ!
なるほど!今まで頑張って細かくMainActor切り替えるのは蛇足だったんですね。
去年元ネタの映画を視聴したけど、全然わからんかった。Q: 私たちはどう生きるか?me: あなたは何を伝えたかったのか?俺、文化の無さが絶望的。
Mergeable Libraryで高速なアプリ起動を実現しよう!
DynamicとStatic両方の利点を取れたこういうの欲しかったんですね。うちのプロジェクトにも適応してみよう。
XCodeGenやTwistでプロジェクト生成しているやつはどうするんのやら。
まあなんとかなりそう
休憩
たこ焼き*1とクレープ*2食った。雑談タイム。カロリー爆弾。
血糖値大引け、体調崩しちゃった。
写真とれんかった。
Meet BrowserEngineKit: 独自のブラウザエンジンを体験しよう
ついに自前ブラウザー作れるようになったんですね。これは熱い!
全部App Extension。全部IPCで通信するなんて!
ゼロから始めるiOSセキュリティ ~ OWASP Mobile Top10から学ぶ脆弱性対策
実際にハードコートしたデータをハックしたのを見せてくれてありがたい!
自分なりに要点をまとめてみると:
Crendentialsをハードコードしてはならない!
平文で保存してはならない!
そもそも端末に保管してはならない!
どうしてもならMUST Keychainに入れよう!
これで一生忘れないであろう。
LT
パーソナルボイスは熱い
青い。なるへそ!納得感!
formatterをしっかり活用しましょう
音楽理論かっこ良すぎる。
Today's Update
疲れすぎて先に帰宅した。
その後爆睡。また明日!
Day2
ドーナツ食えた。良かったです。
Today's Update
ドーナツ食ってたので出れんかった。一瞬で終わっただそうです。
LYさんのツッコミ大会にコメントした。いつも発揮しやすいコード助かる。
Swift 6のTyped throwsとSwiftにおけるエラーハンドリングの全体像を学ぶ
@koherさんによるTyped Throwsホイホイ導入してはいけないという話。
Swift Zoominで聞いた。復習。
Zoominで話してなかったことも沢山。
どのようなときにTyped throwsを適用:
スコープが限定的
純粋にエラーを伝播する場合
前方互換性がない、または制御可能
後に私が初心者レベルの質問を@koherに聞いてみたらめっちゃ引かれたっぽい🙏
Q: Logical Failureによる障害を防げたい
A: 開発環境とリリース環境のハンドリングを分ければ?
みたいな雰囲気でした😂
いつもSwift Zoominで色々実演をしてくれて、色々勉強させてもらっていたので、今回始めて対面でご挨拶できたのめっちゃくちゃ光栄です。
@koogawaさんへも感謝を伝えたかった。
Mastering AsyncSequence - 使う・作る・他のデザインパターン(クロージャ、Delegate など)から移行する
以前AsyncSequence触っていたので気になってたトークです。@treastrainさんによる講義ですので情報密度が200%保証付きの予想で、それ以上でした!満腹!
await loop構文は外部cancel処理によりbreakされる
await loop構文+Taskで購読するより、AsyncSequence版sinkを作ろう
cancellableも作ろう
Combineとは違って、MainActorを付けることでビルド時に品質担保できちゃうので、紫エラー消滅!
諸々質問した&横で聞いた:
テストを組むのは当分やり難い
Async Algorithm系のoperatorにはClockをしてしたらなんとかだけど、それでも難しいとこが多い
購読側でどう拾うか問題になる
真のエラーによる中断を作れない
CombineやRxの.shared()みたいな同じstreamに複数回購読したいがどうしたら?
自前で作ればワンちゃん行けそう
めっちゃ面倒、そもそもやっていいの?変な不具合起きないか
完成させようか
AsyncChannelは無理。最後の購読にしか値が流れてこない。
どこかで議論はあったよう。
Track Dに入れんかったかな?とりあえず休憩
たこ焼き休憩。ブースウロウロしてた。DeNAさんのcrossword面白かった。
LT
疲れ過ぎで眠気が、もうほぼ記憶にない。
データ型やらしすぎる。怖い。
単にデザインだったの?!ええーーー
定期的に「人生とは?」を探るのはすごいわかる。
人間は飛べる!
盛り上がりました!めっちゃおもろかった。
クロージング
食べ物も飲み物も、消費量が異常!
大盛況!大成功!
IPが足りんかったか!
The end. エモッ
懇親会
めっちゃ唐揚げ食って帰った。@soh_satohさんより諸々知見を得られた。有益の話でした!ありがたや!
感想など
盛況!
今年は息苦しさを感じるくらいの人口でした。大盛況でしたね!
集合写真に出なかったのちょっと残念。
体調
ポストする気力がなかった。年かな。
フード
食料もらった。当分お菓子に困らない。
ドーナツパイプラインは助かる!もっとくれ!
無限コーヒー、菓子類、たこ焼き助かる。懇親会の献立美味しかった。
今年も大満足!感謝しかない!
エンゲージメント
偶然にも個人で色々トライしていた事に相関するトークが多かった。普通に助かった。
黙っておくより質問してみるの方が良い!愚問でも!恥ずかしがらずに。どうせNow or Never.
やること
見逃したトーク多かった、アーカイブ見よう
倍率エグすぎ、来年はProposalをメッチャクチャ出そうか。
見直し
みんなのトークを実際視聴して、やはり自分のネタには情報量、ユーモア、ユニーク性が足りんかったな。精進せねば。
最後に
とりあえず来年もこよう。
この記事が気に入ったらサポートをしてみませんか?