0

アプリケーションのホワイトラベリングにいくつか問題があります。

2 つのターゲット App1、App2 があり、3 つのフレームワーク、CoreCustomFramework、App1Assets、App2Assets があります。

そして、Class1 と Class2 の 2 つのクラスがあり、2 は App2Assets のみにあるいくつかのインポートを持つ 1 つのクローンです。

Class1 と Class2 は同じ名前を共有します (どちらも coreFramework ではなく AppFrameworks に対して非公開であるため、重要ではありません)。

現在、App1 は正常にコンパイルされますが、App2 は失敗し、重複する 12 クラスのうち約 4 クラスでのみです。「クラスのインターフェイス定義が重複しています...」が原因です。

In file included from /Users/ME/Dev/ProjectFolder/Modules/App2Assets/Classes/Table/TableViewController.m:

In file included from /Users/ME/Dev/ProjectFolder/Modules/CoreCustomFramework/Classes/Table/TableViewController+Private.h:9:

In file included from /Users/ME/Dev/ProjectFolder/Modules/App1Assets/Classes/Table/TableViewController.h:11:

これで、複製された他のクラスのいくつかは問題ありません。理由がわからないので、私が考えることができる唯一のことは、PrivateHeaders設定がプロジェクトフォルダーをスキャンしていることです。したがって、必要なモジュールフォルダーのみをスキャンしてみてください。では、コアと特定のアプリ アセットは?

はがきで答えてください。

4

1 に答える 1

0

class1 もターゲット 2 でコンパイルされているかどうかを確認する必要があります。

プロジェクトナビゲーターで.mファイルを選択し、ユーティリティを開いてファイルインスペクターを表示し、ターゲットメンバーシップを制御します.target1にあるはずです...

于 2012-05-11T11:06:04.640 に答える