久しぶりにテストを実行しようとしたらコンパイラが通らなくなってた。
2 duplicate symbols for architecture arm64
違った。テストしようとしたタイミングでコードも変更してて、それが悪くて通常も通らなくなってた。
Report navigatorで確認すると何が重複しているか確認できる。
クラスAを継承したBを作成する際に、付けている@objc方がAのままだったので重複扱いになった様だ。
@objc(A) public class A { } @objc(A) // 正しくは @objc(B) public class B { }