1

私は非常に大規模な iOS プロジェクトで作業していますが、非常に多くのクラスとリソースがあり、それらのインデックス作成とコンパイルに非常に長い時間がかかります。IDE が作業を許可してくれるのを待つのに多くの時間を費やしているため、これについて何かをする必要があります。

私の最初のアイデアは、すべての画像をカスタム バンドルにパックして、IDE が単一のファイルとして認識し、インデックス作成とコピーが高速になるようにすることでしたが、バンドルは拡張子を持つ単純なフォルダーに過ぎないことがわかりました。 、なので、パフォーマンスはまだ遅いと思います。次に、画像に「黄色のグループ」の代わりに「青色のフォルダー」を使用すると、Xcode がインデックスを作成しないことを読みました。しかし、この方法は今のところ簡単ではありません。画像を検索する関数をそのフォルダー内で検索するように置き換える必要があるためです (絶対パス?)

したがって、私の最後のアプローチは、コンパイル時間とインデックス作成の両方で時間を節約することです。コードを複数のライブラリでモジュール化したいので、コードを「二度と」コンパイルする必要はありません。この方法では、Xcode がソース ファイルのインデックスを作成する必要もありません。

私はいくつかのチュートリアルに従いましたが、スタティック ライブラリを作成し、ヘッダー ファイルを別のプロジェクトに含める方法を理解しました。しかし、私の現在の問題は次のとおりです。

私のアプリケーションにはいくつかの「独立した」モジュールがあるため、それぞれに静的ライブラリを作成したいと考えています (また、それぞれのイメージ バンドルも生成する可能性があります...)。しかし、これらのモジュールはすべて共通のコアを使用しているため、静的ライブラリでも維持したいと考えています。したがって、このようにすると、すべてのモジュール ライブラリにメインのコア ライブラリを含める必要があります。コアのバイナリ コードが数回存​​在するため、これが最適な方法ではないのではないかと心配しています。右?

正しい解決策は、コア用の動的ライブラリとモジュール用の静的ライブラリを生成することだと思いますが、動的ライブラリを生成する方法が見つかりません...さらに、これが解決策になるかどうかはわかりません。

だから私はあなたに尋ねます:私にはどんな選択肢がありますか?コアを数回コンパイルするのが最善の方法ですか? 手伝ってくれてどうもありがとう!

4

1 に答える 1

1

動的リンクは IOS ではサポートされていないため、これはオプションではありません。スタティック ライブラリは他のライブラリに追加されますが、他のスタティック ライブラリ内には埋め込まれていません。これはビルド時に確認できます。他のライブラリはプロジェクト フォルダー内に個別のライブラリとして表示されるため、各スタティック ライブラリは/project は、アプリのビルドに一度だけ含まれます。

結局のところ...同じワークスペースで静的ライブラリを使用している場合、これが期待する多くの時間を節約できるかどうかはわかりません。一部のプロジェクトで静的ライブラリを使用していますが、アプリでクリーンを実行してからビルドすると、静的ライブラリも再構築されます。

于 2012-12-10T17:06:01.310 に答える