2011-08-05 12 views
4

iphone用に最適化されたアプリケーションとipad用に最適化された2つのアプリケーションを作成したいと考えています。iPhoneとiPad間で開発コードを共有するためのベストプラクティスはありますか

これらのアプリケーションは両方ともサーバーAPIコールを呼び出し、モデルオブジェクトに同じコードを共有するため、このコードをiphoneとipadプロジェクトで共有したいと考えています。

私はworkspace(プロジェクト間でコードを共有できるようになっています)のコンセプトでxCode 4を使用していますが、共有コード用に別のプロジェクトを作成する必要があるのだろうかと思いました。

誰もこれを行い、ベストプラクティスを共有していますか?

答えて

3

静的ライブラリプロジェクトを利用してiPhone/iPadの再利用や他の共有シナリオで共有コードを格納し、それを使用するすべてのプロジェクトでターゲット依存関係として使用することで、プロジェクト間でコードを共有することをお勧めします。もう少し詳細に...

新しいXcodeプロジェクトを作成するには、Cocoa Touch静的ライブラリテンプレートを使用します。このプロジェクトは、プロジェクト間で共有されたコードをすべて格納することができます。次に、静的ライブラリを使用するアプリケーションで、静的ライブラリプロジェクトをクライアントプロジェクトにドラッグして、静的ライブラリプロジェクトにプロジェクト参照を追加できます。このクライアントプロジェクトでは、静的ライブラリをクライアントプロジェクトのターゲット依存関係構築フェーズとして追加することをお勧めします。これにより、クライアントプロジェクトがビルドされるたびに共有ライブラリが強制的に再構築されます。次に、静的ライブラリ製品を、クライアントプロジェクトのビルドフェーズの "Link With Binary With Libraries"に追加します。

最後に、静的ライブラリのヘッダがどこにあるかをクライアントプロジェクトに伝える必要があります。これは、Mac上のCocoa Frameworkのような独自のヘッダーを含まない静的ライブラリの結果です。これを行うには、クライアントプロジェクトで「ヘッダー検索パス」ビルド設定を見つけて、静的ライブラリヘッダーにパスを追加します。私は、Xcodeによって生成され、派生データに配置されたものを参照するのが最も有用であることを発見しました(そうするようにXcodeが設定されている場合)。

0

別々のアプリケーションを2つ作成する場合は、2つのiOSアプリケーションプロジェクトと1つの静的ライブラリプロジェクトで1つのワークスペースを作成する必要があります。静的ライブラリにはすべての共有コードが含まれている必要があり、ライブラリは両方のiOSアプリケーションプロジェクトに含める必要があります。

+0

私は今日後でインターネットを検索して、ワークスペースについて知っていますが、良いリソースはどれですか?私はそれらを使ったことはありません。 – tazboy

+0

アップルの初期ドキュメンテーションの一部を見直すことは良いことです:http://developer.apple.com/library/ios/#documentation/IDEs/Conceptual/Xcode4TransitionGuide/Orientation/Orientation.htmlそしてSOは質問に対する回答を提供する必要がありますいつものように)。 – dtuckernet

関連する問題