![見出し画像](https://assets.st-note.com/production/uploads/images/35742726/rectangle_large_type_2_918c1936dbd0258d91825108700555f2.png?width=1200)
iOSDC 2020のスライドを60個ぐらい見たメモ #iosdc
iOSDC 2020のトークについて、60近いスライドに目を通した。ひとつあたり3分〜6分で見ていったので、どんな話か、あとでまた見るかどうかの判断をしたぐらいだが、一応そのうちの一部についてのメモをこちらに載せておく。
そろそろCombine
問題提起パートがわかりやすく、そのあともコードを見ながらの解説で導入としてめちゃくちゃ良さそう。そろそろ勉強したくなったときにここから入る。(あと技術書典で買ったCombine本も)
技術書典オンラインマーケットでType D4 Labの「Combineをはじめよう」を購入しました! #技術書典 https://t.co/qSBeHqlShz
— Shuichi Tsutsumi (@shu223) September 12, 2020
iOS 13におけるSiri Shortcuts 最小実装+α
Siri Shortcutsのメリットやデメリット、使い所を実際に実プロダクトで実装してみた立場から言語化してくれている。
この機能が出たばかりのころに当時働いていたFyusion社で「Fyuseカメラを起動するショートカット」のプロトをつくってPRを投げたがあまり反応が芳しくなく自分も新機能を触って満足して終わってしまってそれ以来縁のない機能ではあるが、「よく使う手順のショートカット」ができるというのは大きいので、キャッチアップしておいて損はない。
本当はこわいLLDB
Swiftでは実践できない/MacをリカバリーモードにしてSIPを解除する必要がある等々の事情で自分では実践しなそうではあるが、「こんなこともできるのかー」のオンパレードだった。
実践!「みてね」における自動生成活用例
着眼点として興味深かった/考え方も書いてあって参考になった。実装の繰り返しが面倒に感じたときに実践してみるかも。
(余談)冒頭に出てきている同年のUIKonfに僕も行っていて、スピーカーの佐藤さんともお話しさせていただきました。その節はお世話になりました。
iOS Custom Keyboardsでできること/できないこと/やってはいけないこと
感想ツイート:
カスタムキーボードでできること・できないこと・やってはいけないことが簡潔にまとまっていてとても勉強になる。そして実装例がどれもワクワクする! #iosdc
— Shuichi Tsutsumi (@shu223) September 27, 2020
iOS Custom Keyboardsでできること/できないこと/やってはいけないこと https://t.co/Me2BDLPM7X pic.twitter.com/oSjlWJYbeM
アプリのパフォーマンスを継続的に計測する
温度上昇によるパフォーマンス低下の計測、というテーマは興味深い。GPUなどプロセッサを最大限使うあたりの機能に興味を持ちがちな自分もやる機会ありそう。
Xcode 12からはInstrumentsコマンドがdeprecatedになりxctraceが追加されたらしい(p72)。というかInstrumentsコマンド自体使ったことない。ここは深堀りしたい。
詳解Storyboard
まだまだ絶賛Storyboard使っている派。知らなかった知見が多そう。今回は大量のスライドを駆け足で見ないといけなかったので、あとでまた時間とって見返したい。
iOSには無いmacOS独自機能をCatalystで実装する
感想ツイート:
このまとめはほんとありがたい。iOSだとだいたいなんとかなるけどmacOSの場合ググろうにもUIコンポーネントの呼び名がわからなかったりするし。Big Surでの更新内容も。
— Shuichi Tsutsumi (@shu223) September 20, 2020
iOSには無いmacOS独自機能をCatalystで実装する #iOSDC https://t.co/4dPMQulkLF
iOSリジェクト戦記
スライドの出来に感動した。課金UIの分類も参考になる。(課金UI研究についてのトークも聞きたい)
スライドのクオリティに感動した。ここまでつくるの大変だろうな...と一瞬思ったがいやここまで作り込むならもはや楽しいだろうな。
— Shuichi Tsutsumi (@shu223) September 20, 2020
iOSリジェクト戦記 #iosdc https://t.co/Ei4tiZ92zW
HomeKit
HomebridgeとHomeKit ADKはさわっておきたいと思った
HomeKit非対応デバイスをブリッジするHomebridgeと、
— Shuichi Tsutsumi (@shu223) September 21, 2020
HomeKitアクセサリを自作できるHmeKit ADK、
これはやりたくなるな〜
HomeKit 2020 #iosdchttps://t.co/jCJYJJ08AT
100人でアプリをリファクタリングして見えてきた、最強のiOSアプリ設計に求められること
スライドではなくニコニコのタイムシフトで視聴。
遅ればせながらタイムシフト視聴。めっちゃくちゃわかりやすかったしリファクタリングチャレンジ企画がそもそも秀逸だし内容は超有益だしで最高だった #iosdc
— Shuichi Tsutsumi (@shu223) September 23, 2020
100人でアプリをリファクタリングして見えてきた、最強のiOSアプリ設計に求められることhttps://t.co/0Cq63bxdmP
文字列をコピーできるスクリーンショットを作る
view.layer.renderでレンダリングするとテキスト情報が失われる。しかしviewをdrawで書き込むと座標とか透過処理とか諸々が考慮されてないレンダリング結果になってしまう。
で、このへんを自前実装したサンプルを公開してくれている。
このいかにも大変そうな「あとは実装するだけ🛠」の部分の実装を公開してくれてるのありがたや。 #iosdc
— Shuichi Tsutsumi (@shu223) September 21, 2020
文字列をコピーできるスクリーンショットを作るhttps://t.co/UpeSj94WKr
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を利用したスマートキー開発
感想ツイート:
スマートキーを会社のプロダクトとして開発している人の発表かなと思いきや、車を買いました報告からのまさかのハードから完全自作だったという...(すごい)
— Shuichi Tsutsumi (@shu223) September 22, 2020
CryptoKitとCoreBluetoothを利用したスマートキー開発 https://t.co/0JYZmQedqW #iosdc
(※雑なメモなので続きを読むためにマガジンを購読する意味はあまりないかと思います)
最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/