Loading
BLOG 開発者ブログ

2024年8月26日

iOSDC2024に参加してきました!(day2編)

IOSDC day2アイキャッチ

いよいよ最終日です!

はじめに

こんにちは。クラウドソリューショングループのtakinami.sです。

今回セッションで話を聴くのに頭を使ったことに加え、セッション外の交流でだいぶはしゃいだので、day2はヘロヘロの状態での参加でした。

質の高い発表と、カンファレンス実行委員側で交流に力を入れた催しをしてくださったおかげですね。

フリードリンク

3日間とも晴れの暑い日が続く中、写真のようなフリードリンクや、通称『無限コーヒー』と呼ばれる1日中コーヒーを提供するサービスがありがたかったです。

発表のレポート

visionOSで空間演出を実現する方法

服部 智さんの発表です。

発表と直接関係はないですが、参加者の方々のApple Vision Proの所有率に驚きました。

5割以上は所有しているようでしたし、会場では首から提げている方もおり、新しいデバイスやOSへの関心度の高さが伺えました。

さて、発表の内容ですが動画と連動したエフェクトを作っていくというものでした。

やっていることの概要は、動画の中でエフェクト開始のトリガーになるタグを埋め込んでおき、その位置に来たら作っておいたエフェクトを動かすというものです。

実機での動作の様子をシェアしながら発表してくださったので、かなりワクワクしながら聴いていました。

活用方法を例に出すと、製品やイベントの宣伝の際にプロモーションビデオと連動させることで、よりそれらに対するイメージをユーザーにわかりやすく伝えることができるようになるという感じです。

映画のサブスクリプションサービスを運営しているのであれば、映画の中で雨が降っていたら自分の周りでも雨が降っているようなエフェクトをつけて臨場感をアップさせるという使い方もできるでしょう。

動画内にタグを埋め込むため、Appleが開発した規格であるHTTP Live Streaming(HLS)の形式である必要があるようです。

また、HLSでの書き出しに対応していればソフトや、タグ作成ツールを使用できるようApple Developerアカウントが必要になるので、注意しましょう。

実装を進める中で多少注意点はあるものの、すでに動画を用いて提供されているサービスにとっては勢いを加速させる可能性がある内容だと思います。

また、XR領域での動画利用に可能性を見出して、新しいサービスが出てくるかもしれません。

柔軟なアイディアでvisionOSを利用していきたいですね。

スライドはこちら

Mastering AsyncSequence – 使う・作る・他のデザインパターン(クロージャ、Delegate など)から移行する

Tanaka Ryogaさんの発表です。

非同期処理部分での従来の方法からの移行ということで、非同期ではない処理との比較や移行方法について解説されていました。

話の構成上サンプルコードが多いセッションでしたが、アニメーションを上手に用いられていて見やすいものになっていました。

WWDCのスライドを思い浮かべてもらえると、イメージがつきやすいかと思います。

今回のiOSDCではいくつかのセッションでSwift Concurrencyについての話があったのですが、非同期に関連して度々話題になっていたのが『どこまでメインスレッドで扱って良いか』という内容でした。

メインスレッドで扱われるのは、@MainActor属性がつけられたクラスや構造体になります。

例えば、UIViewControllerはデフォルトで@MainActor属性が与えられ、メインスレッドで動くようになっています。

ピンときた方もいるかもしれませんが、他の処理によるブロックや遅延を発生させたくない直接UXに関係のある部分はメインスレッドで扱われることが多いです。

では、それを踏まえて考えてみましょう。

どこまでをメインスレッドで扱いますか?

『メインスレッドではUXに関わるところだけ扱うべきだ』という考えの方もいるでしょうし、『軽めの処理なら扱っても良い』という考えの方もいると思います。

参考までにAppleは『影響がないのであれば、メインスレッドで扱って良い』というスタンスのようです。

目安としては1/60秒の範囲内で完了する処理であれば、メインスレッドで大丈夫そうです。

スライドはこちら

LTのレポート

LT

ラムネで納涼…(炭酸苦手なのに)

LTからもいくつかピックアップしようと思います。

iOS怪談 シングルトンがふたつ…

まつじさんの発表です。

Xcodeでのビルド設定によって本来シングルトンで想定していたはずの挙動が、シングルトンになっていないという内容でした。

ビルド設定であるDynamic FrameworkとStatic Frameworkの違いをきちんと振り返ると納得のいく内容なのですが、誰の元でも起こり得る事象で学びになりました。

アナウンス音声を務めていた声優の立木文彦さんがトークタイトルを怪談口調で読み上げられていたことに加え、まつじさんも怪談口調で話されていて聴いていて楽しい発表でした。

暴走のウホーレン 〜想いってのはvimrcにしないと伝わらないんだぜ〜

uhooiさんの発表です。
テキストエディタであるNeovimのプレゼンでした。

『Xcodeを使わなくてもNeovimでコーディングできるぞ』と、ライブコーディングをしながら実際の使い勝手を話されていて面白かったです。

これだけプレゼンして、普段はXcodeを使っているというオチも含めて最高でした。

スライドはこちら

最後に

今年のiOSDCでの変化の1つとして、visionOSに関するセッションやパンフレットの記事が出てきたことが挙げられると思います。

全体の割合から見ると大きいわけではないですが、来年以降はさらに増えていくのでしょう。

去年から感じていたことですが、UI周りはSwiftUIを使うという動きがかなり定着していそうでした。

例えば、セッションの中でサンプルコードを出すときにSwiftUIがメインで補足としてUIKitも出しておく、というケースが多かったように思います。

visionOSでアプリを動かすためのコードもSwiftUIですし、Appleとしても開発のトレンドとしておきたいのでしょう。

次回の予定は未定ですが開催されることを願って、また来年!

takinamisのブログ

主にWEBやiOSのフロントエンドからクラウド周りまでを扱っているエンジニアです。

社内ではDJとして名が通っている(?)人です。