IOSアプリと拡張アプリの間でクラスを共有する
アプリと拡張アプリの両方でカスタムクラスを使用したいのですが。メインアプリフォルダーにクラスがあるだけの場合、拡張機能はそれを取得しません。私はそれをコピーして拡張フォルダに入れてみましたが、もちろんinvalid redeclaration of [my class]
エラー。これに最適なソリューションは何ですか?これは1つのクラスであり、複数のリソースではありません。
何もコピーしてはいけません。拡張機能のソースをコンパイルするために必要なファイルを追加するだけです。
共有したいファイルがセクションTarget Membershipでチェックされていることを確認してください。
ファイルを選択し、右側のユーティリティパネルを開いて、Target Membershipで適切なターゲットにチェックマークを付けます。
組み込みフレームワークは、アプリケーションと拡張機能の間でコードを再利用する優れた方法です。一部のコードを組み込みフレームワークに移動したことで、その周りにいくつかの単体テストを作成する絶好の機会が得られます。
セクションを参照して、埋め込みフレームワークを使用してコードを共有しますhttps://developer.Apple.com/library/ios/documentation/General/Conceptual /ExtensibilityPG/ExtensionScenarios.html#//Apple_ref/doc/uid/TP40014214-CH21-SW1