2024-01-01から1年間の記事一覧

【Swift】 Observation framework の変更通知の挙動が今後変わりそう

結論 はじめに 既存(Swift 6.0.3)の挙動 動作環境 挙動 動作確認 今後(Swift 6.2 くらい?)の挙動 動作環境 挙動 動作確認 どうして? おわりに 結論 Swift 6.0.3 時点で @Observable な class のプロパティは等価な値でも代入されれば変更通知されるが、今…

【Swift】Computed property じゃないのに「'lazy' cannot be used on a computed property」と言われた

はじめに 表題のエラーに遭遇したので、原因と対応を記載していきます。 何が起こった? まずは、下記のスクショを見てみましょう。 コードとしては下記のような感じです。 final class Foo { private lazy var bar: Int = 1 } 表題の通り、 Computed proper…

Minimum deployment target を iOS 16 から 17 に上げたら ImageResource が見つからないと言われた件

はじめに 前提 iOS 17 に上げてみる なぜ? 対応 もう少し確認 iOS 16: GeneratedAssetSymbols.swift iOS 17: GeneratedAssetSymbols.swift 最後に はじめに 表題の通り、 Minimum deployment target を iOS 16 から 17 に上げたら ImageResource 型が見つか…

Swift Package Manager の Plugin で使用する自前 executableTarget を artifact bundle に置き換える

はじめに 前提 課題感 artifact bundle を作ってみる そもそも artifact bundle って? 方針 1. executableTarget を別パッケージにする 2. artifact bundle を作る artifact bundle 用のディレクトリを作成する info.json を作成する MyExecutable のバイナ…