【Swift】Appで作ったクラスがApp Extentionsで使えない解決法

Appで作ったクラスがApp Extentionsで使えない

実行環境

Swift5.6.1
Xcode14.0
macOS12.6

きっかけ

Widgetを利用するために、Targetが複数あるアプリの開発時、
別のTargetから別のTargetのクラスが呼び出せない ってことが起こりました。

解決策

解決策1, アクセス修飾子

似まずはアクセス修飾子を疑ってみましょう。
internalのようなアクセス修飾子の場合、他のターゲットから使うことは出来ません。

解決策2, Target Membership

対象のファイル内で、Target Membershipにチェックが入っているかを確認しましょう。
私の場合はこれでした。

まとめ

ということで、本記事はAppで作ったクラスがApp Extentionsで使えない解決法をまとめました。
アドバイスや改善などあれば本記事の最後のコメント欄からお願いします。
最後まで読んでいただきありがとうございました!

作業効率がグッと上がるPC道具

間違いなしのSwift書籍2冊



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です