iOSDC2020に参加しました


# はじめに
[iOSDC2020](https://iosdc.jp/2020/)が昨日無事終了しました。
今回の開催はニコニコ生放送での初のオンラインということで、どういう感じになるのだろうと思っていたのですが、グリーンバックを使っていたり、ニコ生のコメント機能でリアルとはまた違った感じで盛り上がる、家でリラックスしながら見れるなど、オンラインならではのいいところがたくさんあり、とても良かったです。

以下自分の気になったセッションを簡単にまとめていきます

# 気になったセッション

サムネイルをクリックすることでスピーカーの皆様が上げてくださったSpeakerDeck/SlideShareへ移動できます。

### 今日から分かるAVAudioEngineの全て
Day0/TrackA
スピーカー：meteorさん

[![thumbnail](https://files.speakerdeck.com/presentations/257a89099c5043e587a1f98d5a21620e/slide_0.jpg?664878)](https://speakerdeck.com/yaminoma/jin-ri-karafen-karu-avaudioenginefalsequan-te)

meteorさんのトークでは
・iOSのAudio周りをあまりしらない方のためのAudioUnit/AVFoundationの解説
・実際のコードを例に挙げながらAVAudioEngineなどの基本的な使い方
・RMSの取得
・[WORLD](https://github.com/mmorise/World)を使ってボイスチェンジャーを実装して(ラッパーである[WorldInApple](https://github.com/fuziki/WorldInApple)のポイントを解説)みるという高度な話をされていました。

最後の方は完全にはついていけていなかったのですが、自分も現在音声処理のアプリの案件に携わっているので、とても復習になり、またmeteorさんのトークは録画感を感じさせず実際に生放送で話されているみたいで、いいセッションでした。

### iOSリジェクト戦記 ~リジェクトされないための課金ページ~
Day1/TrackA
スピーカー：HiromuTsurutaさん

[![thumbnail](https://files.speakerdeck.com/presentations/0b91f160fecc4891b906771b91cb9359/slide_0.jpg?666353)](https://speakerdeck.com/hcrane/iosdc2020-iosriziekutozhan-ji)

HiromuTsurutaさんのトークでは
・課金ページで守らなければいけないこと
・課金ページにはどういうタイプがあるのか
・注意文言/金額表記/無料表記で実際にリジェクトされたときの問題点/対策など
・いろいろなアプリの過去と今の課金ページの比較
・リジェクトを切り抜けるための回避策(グレーゾーン)
をわかりやすく説明されていました。

個人的にはAppleの課金ページでは無料を大きくして、値段を小さくしているのでガイドラインを守っていないというオチが面白かったです。
課金(サブスクリプション)ページのリジェクト理由など、深く観察されている+スライドの作り込みすごい+トークの上手さもあり、とても完成度が高いセッションだと思いました。

スピーカーのHiromuTsurutaさんが以前書かれたアプリアイコンについての記事もとても完成度が高くおすすめなのでぜひ興味のある方は読んでみてください

 [「アプリアイコン」を考察してみたお話](https://note.com/hcrane/n/nd2b82fbe8327)

### エラーアーキテクチャ設計について考えてみる 
Day1/TrackD
スピーカー：きちえもんさん

[![thumbnail](https://files.speakerdeck.com/presentations/0c07ac38c83f4a63832967ff02387823/slide_0.jpg?663938)](https://speakerdeck.com/kichiemon/thinking-about-error-architecture-design)

きちえもんさんのトークでは
・iOSアプリでエラーハンドリングの改善
・Androidアプリでエラーハンドリングの改善
・エラーアーキテクチャ設計について
を話されていました。

iOSでのエラー処理では共感できるところが多く、またその解決法もenumを使うなどなるほどな〜と勉強になるところが多かったです。エラーアーキテクチャについてどのような姿を目指すかの中でユースケースについての説明の時に、ついてユーザーが異なる操作を行った/何か悪いことが起こったに焦点を当てた事を雨の日のシナリオという表現/喩えがとてもわかりやすく、スライドも綺麗に纏まっていて、とても見易かったです。
ユースケース駆動については初めて知ったので、自分でも調べていこうと思いました。


### Github ActionsでiOSアプリをCIする個人的ベストプラクティス
Day1/TrackB
スピーカー：uhooiさん

[![thumbnail](https://files.speakerdeck.com/presentations/e78309ff95eb4d52b37bc85fab72172f/slide_0.jpg?666907)](https://speakerdeck.com/uhooi/iosdc-2020)

uhooiさんのトークでは
前半に
・CI
・Make
・GitHub Actions
の説明を行い、後半に実際にHANDSON形式で行ってみるという形でした。

CI,Make,GitHub Actionsなどをuhooiさんの言葉/イラストでわかりやすく説明してくれており、HANDSONではGitHubActionsの導入を実際にやってみるという形で見せながらわかりやすく解説してくれていました。実際にトークをみながら導入を試していた方もいらっしゃったようです。
個人的にはスライドの途中で出てきた手書きイラストが味があって好きでした。

### Swiftで始める静的解析
Day2/TrackD
スピーカー：まつじさん

[![thumbnail](https://files.speakerdeck.com/presentations/fdf9c396f7c84d7c9ebc0774947fd6a7/slide_0.jpg?667153)](https://speakerdeck.com/matsuji/swiftdeshi-merujing-de-jie-xi)

まつじさんのセッションでは
・そもそも静的解析とは
・静的解析はどのように行われているのか
・実際に[SwiftSyntax](https://github.com/apple/swift-syntax)を用いて、構文木を解析してみる。
についてお話しされていました。

自分はこのセッションを聞くまではソフトウェア工学をあまり知らず、静的解析についてもなんとなくSwiftLintをがあるということしかわかっていなかったのですが、このセッションで静的解析がどのような仕組みで行われているのかというトークを聞いていて、これはどうなんだ？と思った所を次の話でまつじさんが解説してくれて、静的解析への理解が深まるセッションでした。

### テストコードが増えるとバグは減るのだろうか？ - 「0% → 60.3%」で見えた世界の話 
Day2/TrackD
スピーカー：ahirustarrrさん

[![thumbnail](https://files.speakerdeck.com/presentations/fb4e7f920da84bdf9babf8bdc7728af8/slide_0.jpg?667236)](https://speakerdeck.com/ahiru/does-more-test-code-mean-fewer-bugs)

ahirustarrrさんのセッションでは
・テスト実装に至る背景
・テストコードがなかったプロダクトにテストが実装されて、感じたメリット/デメリット
・組織開発体制に適したテスト手法
・テストが増えるとバグは減るのか
についてお話しされていました。

トークの背景、内容などがとても共感できる内容であるあると思いながらトークを聞いていました。
テスト導入に近い話は普段、他の会社の話はあまり聞くことがなかったので、とてもいい機会でした
テストを導入するメリット/デメリットを詳しく解説してくれていて、これからテスト導入しようかなという人にもみて欲しいなというセッションです。
Twitterでテストコードを書いた経験がないとどうテストを書けばいいのかわからない的な意見もみられ、自分もまだ浅い方なのでなるほどなと思いました。


# イベントを通しての感想

他にも良かったセッションやまだ見れてないセッションはいくつもありますのでこの後視聴しようと思います。
気になったかたは後日YouTubeに動画が上がるそうなので視聴して、来年参加してみてはどうでしょうか？

運営スタッフの皆様、スピーカーの皆様ありがとうございました。

# 参考リンク

[Qiitaの記事にSpeaker DeckやSlideShareのサムネ付きリンクを貼る方法](https://qiita.com/unsoluble_sugar/items/d311ba35af4636f7769b)