tofucodes diary

にほんごのほう

WWDC 2019 - What's New in Xcode 11

developer.apple.com

エディタ関連

  • 画面分割がなんか賢くなる(あんまり興味ない)
  • エディタの右にファイルのミニマップが出せるようになる
    • 他のエディタではよく見るようなやつ
    • //MARK: - XXXでセクション分割もしてくれる
    • 行数が長いファイルだとちょっと便利かもしれない
  • 関数のドキュメントが賢くなる
    • 引数追加したら追加した引数の分だけドキュメントにも追加してくれる
    • 引数名を変更したらドキュメントも一緒に更新してくれる
  • バージョン管理が賢くなる
    • コードの変更した行の上に、変更前のコードをインラインで表示することができる

Swift Package関連

  • XcodeにSwift Packageを完全に統合する(Swift Package使ったことないから今までどうだったか知らんけど)
  • Project 設定画面に新たにSwift Packageタブが追加される
    • 連携してるバージョン管理システムのアカウントから楽にパッケージを追加できる
    • 自分のレポジトリ、自分が属してるOrganizationのレポジトリ、スターをつけてるレポジトリが一覧で表示されるので選ぶだけ

デザインツール関連

  • StoryboardでLight/Darkモードの表示をすぐに切り替えられるボタン
  • カスタムのシンボルを作成することができる
    • 既存のSF Symbolをカスタマイズするとかそれ系だと思う
  • AssetカタログでLight/Dark用の画像をそれぞれ登録することで自動で画像切り替えが可能になる
  • AssetカタログでLight/Dark用のColorをそれぞれ登録することで自動で色の切り替えが可能になる
    • 例えばButtonColorという1つの名前でLight=青、Dark=オレンジのように
  • Assetカタログで画像のローカライズが可能になる
    • 方法については特に言及されず?だけど多分上記と同じ感じの方法なんだろうと思う
  • 新機能Environment Overwrite
    • デバッグバーに新しいボタンが追加されて、ボタン押すとXcode上に色々な設定が書かれてるポップアップが出現する
    • シミュレータの設定を実際に変更しなくても、設定を変更した状態のUI確認ができる
    • Light/Darkモードの切り替え、テキストサイズの変更とかとか
    • いちいちシュミレータの設定をいじらなくても様々なUIの確認ができて、めちゃくちゃ便利だと思う

デバッグツール関連

  • ネットワークのスループットをシュミレートできるようになる
    • 今までNetwork Link Conditioner使ってやってたやつがXcodeだけでできるようになる感じ
    • 実機でも利用可能
  • Thermal Stateをシュミレートできるようになる
    • 端末が熱かったり冷たかったりするやつ?
    • 何に利用するんだろう

テスト関連

  • 「テストプラン」を作成可能になる
    • 同じテストケースを色々な設定で実行可能になる?
    • 例えば環境変数とか言語とか

シミュレータ関連

  • Apple WatchアプリをApple Watchシミュレータ単独で実行することができる?(今までできなかったの?)
  • Metal上でシュミレータを動かすようにしたので色んなパフォーマンスが向上

Instruments関連

  • CPUとかMetalとかSwift UIとか色々言ってたけどよく分からんかった
  • 要は色んな指標が同時に見れるようになったよってことかな

Swift UI

  • 全く新しいUI実装のフローの実現
    • 今まではコード編集→アプリ起動→デバッグ、だったものがコード編集だけに
    • つまりSwift UIを利用すれば書いたUIコードが即座にプレビューできるということ(だと思ってる)