iOSDC 2020のスライドを60個ぐらい見たメモ #iosdc
iOSDC 2020のトークについて、60近いスライドに目を通した。ひとつあたり3分〜6分で見ていったので、どんな話か、あとでまた見るかどうかの判断をしたぐらいだが、一応そのうちの一部についてのメモをこちらに載せておく。
そろそろCombine
問題提起パートがわかりやすく、そのあともコードを見ながらの解説で導入としてめちゃくちゃ良さそう。そろそろ勉強したくなったときにここから入る。(あと技術書典で買ったCombine本も)
iOS 13におけるSiri Shortcuts 最小実装+α
Siri Shortcutsのメリットやデメリット、使い所を実際に実プロダクトで実装してみた立場から言語化してくれている。
この機能が出たばかりのころに当時働いていたFyusion社で「Fyuseカメラを起動するショートカット」のプロトをつくってPRを投げたがあまり反応が芳しくなく自分も新機能を触って満足して終わってしまってそれ以来縁のない機能ではあるが、「よく使う手順のショートカット」ができるというのは大きいので、キャッチアップしておいて損はない。
本当はこわいLLDB
Swiftでは実践できない/MacをリカバリーモードにしてSIPを解除する必要がある等々の事情で自分では実践しなそうではあるが、「こんなこともできるのかー」のオンパレードだった。
実践!「みてね」における自動生成活用例
着眼点として興味深かった/考え方も書いてあって参考になった。実装の繰り返しが面倒に感じたときに実践してみるかも。
(余談)冒頭に出てきている同年のUIKonfに僕も行っていて、スピーカーの佐藤さんともお話しさせていただきました。その節はお世話になりました。
iOS Custom Keyboardsでできること/できないこと/やってはいけないこと
感想ツイート:
アプリのパフォーマンスを継続的に計測する
温度上昇によるパフォーマンス低下の計測、というテーマは興味深い。GPUなどプロセッサを最大限使うあたりの機能に興味を持ちがちな自分もやる機会ありそう。
Xcode 12からはInstrumentsコマンドがdeprecatedになりxctraceが追加されたらしい(p72)。というかInstrumentsコマンド自体使ったことない。ここは深堀りしたい。
詳解Storyboard
まだまだ絶賛Storyboard使っている派。知らなかった知見が多そう。今回は大量のスライドを駆け足で見ないといけなかったので、あとでまた時間とって見返したい。
iOSには無いmacOS独自機能をCatalystで実装する
感想ツイート:
iOSリジェクト戦記
スライドの出来に感動した。課金UIの分類も参考になる。(課金UI研究についてのトークも聞きたい)
HomeKit
HomebridgeとHomeKit ADKはさわっておきたいと思った
100人でアプリをリファクタリングして見えてきた、最強のiOSアプリ設計に求められること
スライドではなくニコニコのタイムシフトで視聴。
文字列をコピーできるスクリーンショットを作る
view.layer.renderでレンダリングするとテキスト情報が失われる。しかしviewをdrawで書き込むと座標とか透過処理とか諸々が考慮されてないレンダリング結果になってしまう。
で、このへんを自前実装したサンプルを公開してくれている。
Background Notificationで新聞紙面の大きい画像の自動ダウンロードを実現する
中盤からのBackground NotificationのTips、知見の宝庫だった。実行確率を上げるために複数回送るとか、複数種類作らない方がいいとか。
Grand Central Dispatchによる並行アルゴリズム入門
複数コアを活かすようにGCDをどう使って実装するかという話。セマフォの数を同時利用するコア数に設定することでコアの奪い合いを防ぐ。
その他concurrentPerform(for分の並行実行版)、False Sharing等は知らなかった。
今日から分かる AVAudioEngineの全て
installTap(p56)以降からが勉強になる。installTapはノードの出力(バッファ)を取得できる、つまり音声の生データを取得できる。要は波形処理を行う入り口。
・installTapからAVAudioFileへの書き込み
・音を出力しないようにするには、ダミーのミキサーをつなぐ(ハック的な技)
・RMS(Root Mean Square)=音圧
・iOSの音のフォーマットはFloat32。WorldはFloat64。そこでいったんFloat64に変換し、またFloat32に戻して再生
・Voice Processing I/O(VPIO)はノイキャンとエコキャンが効いてて便利。これをマニュアルレンダリングを用いてAudio Unitで使う実装を示している
Feature Flagを適切に分類することでA/Bテストの運用コストを下げる
「フラグ」を4種類にわけ、生存期間と変更規模の2軸でマッピングする考え方が興味深かった。
CryptoKitとCoreBluetoothを利用したスマートキー開発
感想ツイート:
(※雑なメモなので続きを読むためにマガジンを購読する意味はあまりないかと思います)
最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/