2

同じ Xcode プロジェクトにあるいくつかのアプリケーションを再グループ化しようとしています。そこで、新しい Xcode プロジェクトを作成して 2 つのターゲットを追加し、2 つのアプリのソース コードをターゲットの 1 つにインポートしました。

問題は、2 つのアプリケーションに同じ名前のクラスがあることです。最初のものをコンパイルすると、問題ありません。しかし、2 番目のターゲットをコンパイルしようとすると、次のような多くの問題が発生します。

In file included from /Users/administrateur/Documents/Merged_iPhone_Projects/Target2/Classes/VisitFormViewController.m:18:
In file included from /Users/administrateur/Documents/Merged_iPhone_Projects/Target1/Classes/VisitFormDetailsViewController.h:11:

/Users/administrateur/Documents/Merged_iPhone_Projects/Target1/Classes/RoundedCornersTableViewCell.h:18:61: error: property has a previous declaration
@property (nonatomic, readonly) BkCustomCellBackgroundView *roundedCornersView;
                                                            ^
Target2/Classes/RoundedCornersTableViewCell.h:18:61: note: property declared here
@property (nonatomic, readonly) BkCustomCellBackgroundView *roundedCornersView;

私はそれをグーグルで検索しようとしましたが、「ヘッダー検索パス」を$(SRCROOT)/Target1(または$(SRCROOT)/Target2) に設定すると問題が解決することがわかりましたが、これは機能しません。

誰かが他の解決策を持っていますか?

参考までに、私はXcode v.4.4.1を使用しています

4

2 に答える 2

4

ディレクトリごとに各ターゲットのリソースを配置し、ファイル インスペクターでターゲット メンバーシップを定義する必要があります。

また、ターゲットごとに、文書化されていない「ユーザービルド設定」を使用できます。

USE_HEADERMAP = いいえ

各ターゲットの「ユーザー ヘッダー検索パス」変数を​​ヘッダー ディレクトリの場所に設定します。

詳細および詳細な説明については、stackoverflow のこの質問と回答を参照してください。

Xcode がインクルードするプロジェクト ヘッダー ファイルを制御する

于 2012-09-20T23:42:26.707 に答える
0

クラスには異なる名前が必要です。そうしないと、ロード時に競合が発生し、受け取る実装が指定されません。

于 2012-09-10T08:39:10.967 に答える