3

現在、私は1つの大きなプロジェクトであるiPhoneアプリを持っています。何百ものコードファイルがあります。作成したすべてのクラスを含む「Helper」というフォルダが1つあります。「ヘルパー」フォルダにあるのとまったく同じコードを使用する必要がある2番目のアプリを作成します。

その「ヘルパー」コードを2つのプロジェクト/アプリ間で共有する適切な方法は何ですか?それを独自のプロジェクトファイルに入れてから、メインアプリと「ヘルパー」の両方を共通のワークスペースに追加する必要がありますか?静的ライブラリなどを作成することに興味はありません...コードを何らかの方法で分離したいだけです。

私はすでに2番目の「空白の」プロジェクトファイルを作成してコードをそこにドラッグしようとしましたが、Xcodeをビルドしようとすると、ヘッダーファイルが欠落していると思います...何らかの理由で他のプロジェクトのコードが表示されません。

4

4 に答える 4

1

あなたが説明した状況は、まさにフレームワークが解決するように設計されているものだと私には思えます。最終的には、すべての共有コードを含む別のプロジェクトを作成し、アプリケーションがリンクできるフレームワークを作成することになります。

Apple のFramework Programming Guideを読むことをお勧めします。ガイドの紹介から:

Mac OS X は、フレームワークを広範囲に使用して、システム自体へのインターフェースなどの共有コードとリソースを配布します。独自のフレームワークを作成して、会社の 1 つ以上のアプリケーションに共有コードとリソースを提供できます。また、他の開発者に配布する目的で、クラス ライブラリまたはアドオン モジュールを含むフレームワークを作成することもできます。

于 2012-05-04T19:01:00.150 に答える
1

共有コードと現在のアプリ固有のコードが明確に区別されていれば理想的です。まだない場合は、共有されるすべてのものがプロジェクト固有のコードに依存していないことを確認してください。

これを実現する 1 つの方法は、Git リポジトリを使用してから、共有コードを独自のリポジトリ プロジェクトにすることです。次に、両方のプロジェクトのリポジトリに、ヘルパー コードをサブモジュールとして含めます。

サブモジュールを使用するプロジェクトに取り組んできましたが、まだサブモジュールの側面を自分で設定していません。ここでの利点は、「ヘルパー」に加えた変更を両方のプロジェクトに取り込むことができるため、変更が同期されることです。

まだ Git に慣れていない場合は、慣れることをお勧めします。他のユーザーと共同作業を行っていない場合でも、コンピューターに Git リポジトリをセットアップすると非常に便利です。XCode は現在、プロジェクトの作成時にリポジトリを設定するオプションを提供しています。まだ行っていない場合、または確信が持てない場合でも、後でレポを作成できます。

ソースツリーを使用してリポジトリを管理しています。レポジトリの作成は非常に簡単で、そこからSourceTreeを使用すると簡単です。ただし、プロジェクトのセットアップ方法に応じて、GitHub 独自のデスクトップ クライアント、または必要に応じて他のクライアントを使用できます。

git でのサブモジュールの設定に関する情報: サブモジュールの設定

要約すると、次のようになります。

  1. 「ヘルパー」コードが自立できることを確認してください
  2. ヘルパー コードを独自のリポジトリに配置する
  3. コードが必要なプロジェクトのサブモジュールとして、ヘルパー リポジトリを含めます。

それが役立つことを願っています!

于 2012-05-04T18:55:59.507 に答える
0

静的ライブラリなどを作成することに興味はありません...

しかし、iOS の場合、静的ライブラリ ターゲットはまさに使用するものです。

ワークスペースは必要ありません。両方のアプリが参照する共有静的ライブラリを使用する別の Xcode プロジェクトだけです。

于 2012-05-04T19:05:46.123 に答える
0

共有コードを別のフォルダーに入れてから、両方のプロジェクトに追加できます。User Header Search Pathsただし、フォルダーのパスをinに追加することを忘れないでくださいBuild Settings > Search Paths

于 2012-05-04T18:57:19.337 に答える