RandomThoughts

RandomThoughts

Swift

Contents:
  1. interop
  2. Swift Concurrency
  3. SwiftPM
  4. Logger

Macのプログラム言語。

interop

Swift Concurrency

長くなったのでページを分ける。

SwiftConcurrency

SwiftPM

Swiftのパッケージマネージャ。Swift.org - Package Manager

Xcodeのプロジェクトは最初から対応が入っていて、右クリックから追加で追加出来る。 Adding package dependencies to your app - Apple Developer Documentation

(公式のGetting Startedとだいぶ違うのでメモ)

Logger

使ってるモジュールがめっちゃログ吐くので消し方を調べる。

Debug with structured logging - WWDC23 - Videos - Apple Developer この動画の最初の方の方法で十分な気がしてきた。

関係無いが、LLDBで p 変数名 とか po 変数名 でウォッチ出来るのは便利そうだな。Do What I Mean Printというコマンドがあってdwim-printと呼び、pがこのエイリアスになっているらしい。へー。

Explore logging in Swift - WWDC20 - Videos - Apple Developer

こちらはより基本的な使い方。non numericな値をstring interpolateで出すと、普段はprivacy的な削除で消されるらしい。publicとか指定しないとエンドユーザーの端末では見えないとか。 あとデバイスからのログの吸い出し方もこの動画で説明されている。

formatの話もある。

  logger.log("hogehoge \(seconds, format: .fixed(precision: 2))")

公式ドキュメント: Logging - Apple Developer Documentation