メインプロジェクトといくつかの小さなサブプロジェクトがあります。小規模なプロジェクトには、自己完結型の Cocos2d アプリと、メイン プロジェクトに関連するクラスのみを含む静的ライブラリの両方が含まれます (サブプロジェクトはすべて Cocos2D フレームワークを使用します)。メイン プロジェクトは静的ライブラリに依存しています。このアプローチは理論的には正しいと思いますが、実際には機能していません。
私が見ている症状は次のとおりです。コードがメイン プロジェクトの一部として実行されると、プリプロセッサの値が機能します。サブプロジェクトのアプリを実行すると、期待どおりに実行されます。
-all_load
メインターゲットにリンカーオプションを設定しました。これは、サブプロジェクトのクラスが nib ファイルでのみ言及されているためです。コンパイラー-all_load
がコードを不必要であると誤って判断するため、クラスがメインターゲットから「最適化」されません。
すべてのサブプロジェクトを必要な .frameworks にリンクしました。
これは修正可能ですか、それともこのアプローチは失敗する運命にありますか? 静的ライブラリなしでこれらのプロジェクトを管理するには、他にどのような方法がありますか? 他の開発者がサブプロジェクトに取り組んでおり、静的ライブラリのアプローチにより、お互いに干渉することはありません。
アップデート
その質問を読み返してみると、もっと早く休憩を取るべきだったと思います。質問は問題をうまく説明していません (またはあまり意味がありません!)。問題は、サブプロジェクトを使用してコードを編成する方法に関連しています。私は今、問題をほとんど解決しました。完全に解決したら、おそらくブログ記事を書きます。