5

私は最初の iOS アプリケーション (比較的単純な iPad アプリで、1 か月ほどでリリースされる予定) を持っていますが、今はもっと野心的なものに移行しているので、アドバイスが必要です。

私の次のプロジェクトは、実際には、かなりのコア機能と共通のデータ形式を共有する、2 つの異なるが密接に関連する iPad アプリケーションになる予定です。したがって、私の本能は、これら 2 つのアプリケーションを両方が共有するコア フレームワークの開発と組み合わせて開発することです。この共有フレームワークで CoreData を使用し、アプリケーションで使用できる GUI 要素 (NIB、ビュー コントローラー) も提供したいと考えています。それぞれのアプリ。したがって、私のさらなる本能は、3 つの Xcode プロジェクトを作成することです。アプリ A 用の 1 つの iOS アプリ プロジェクト、アプリ B 用の 2 つ目の iOS アプリ プロジェクト、および共有フレームワーク用の 3 つ目の CocoaTouch フレームワーク プロジェクトです。

質問:

1) これは私の開発を構成する正しい方法ですか、それとも密接に関連する 2 つのアプリと共有フレームワークの同時開発を行うためのより良い方法はありますか?

2) フレームワークは CoreData を使用できますか? (これは、Xcode で CocoaTouch フレームワーク プロジェクトを作成するときに、iOS アプリ プロジェクトを作成するときのように、CoreData を使用するオプションもユニット テストを使用するオプションも提供されないためです)。

3) iOS アプリ プロジェクトをフレームワーク プロジェクトに "変換" する方法はありますか? あるいは、できればアプリ プロジェクトをフレームワーク ターゲットにビルドする方法はありますか? これにより、手動ですべてのものを追加する代わりに、すべての Xcode セットアップ景品 (NIB、コア データなど) を含むフレームワーク プロジェクトを作成できます。

ありがとう!

カール

4

1 に答える 1

2

質問 1 に答えるために、私はこのように動作しません。3 つのターゲット、2 つのアプリ ターゲット、および 1 つのフレームワーク ターゲットを含む 1 つのプロジェクトを作成します。将来的には、フレームワークが安定したときに独自のプロジェクトに移動し、さらに多くの iOS アプリで使用する場合もあるでしょう。すべてのターゲットを同じプロジェクトに配置すると、ターゲット間で共有されるコードで作業するときの同期の問題が軽減されます。

質問 2 に答えるために、Xcode には、コア データと単体テストをスターター フレームワーク プロジェクトに追加するためのテンプレート サポートが含まれていません。フレームワークで Core Data を使用できない理由はわかりません。

質問 3 に答えるには、フレームワーク ターゲットを iOS アプリ プロジェクトに追加し、iOS アプリの適切な部分をフレームワークに移動します。

于 2011-05-27T17:46:56.483 に答える