3

ビュー/コントローラーは Mac アプリと IPhone アプリで異なりますが、モデル コードは似ている/同じである可能性があります。モデルコードを共有できるようにプロジェクトを編成する最良の方法は何ですか?

  1. コピー/貼り付け - 複製して手動で同期するだけ
  2. 2 つの xcode プロジェクトが同じ作業領域を指すようにします。1 つは Mac 用、もう 1 つは iPhone 用で、コードを共有します。
  3. 共通ライブラリ - おそらくこれを行うことはできません (または行うことができます)

ヒントをありがとう。

4

3 に答える 3

6

これを行うにはいくつかの方法があります。最初にできることは、Mac OS X でフレームワークとしてビルドするプロジェクトを作成することです。iPhone ではフレームワークを使用できないため、同じコード ファイルを含む静的ライブラリ ターゲットを作成できます。これは基本的に機能しますが、ヘッダー パスは異なります。ヘッダー パスを同じにする場合 (つまり、<Myframework/MyFramework.h>)、静的ライブラリ ヘッダーのインストール パスを変更して、"$SDK_ROOT/usr/local/include" にコピーされるようにする必要があります。 /MyFramework" を実行し、/usr/local/include がインクルード ヘッダー検索パスであることを確認します。次に、ライブラリとヘッダーを各 SDK_ROOT にインストールする必要があります。

私は上記のことを始めましたが、それは王道の苦痛であることがわかりました。だから私は#2の変種である何かをやった。基本的に、iPhone プロジェクトのルートに「Externals」という名前のディレクトリを作成し、次に externals フォルダーに適切な名前 (「MyFramework」) の名前の付いたディレクトリを作成することで、ヘッダー パスを同等にします。それが、私がフレームワーク ファイルをドラッグしてコピーしたフォルダーです。新しいファイルを iPhone プロジェクトに手動で追加する必要がありますが、ビルド ルートに静的ライブラリをインストールする方が苦労しないことがわかりました。

于 2008-10-28T10:04:01.977 に答える
1

前の回答からの提案が機能するかどうかはわかりません。私の前の質問を見ると、フレームワークが Mac では正常に動作しているにもかかわらず、iPhone でカスタム フレームワークをロードできなかったことがわかります。

私は方法2で行きます。

于 2008-10-23T10:34:46.603 に答える
-2

JavaScript、CSS、および HTML でアプリケーションを開発できます。Mac と iPhone ではそれぞれ WebView オブジェクトと UIWebView オブジェクトを使用します。WebView オブジェクトで必要なことはほとんど何でもでき、Objective-C への呼び出しを行うこともできます。

https://sourceforge.net/projects/quickconnect/にあるQuickConnectiPhone インストーラーは、QuickConnectMac および QuickConnectiPhone テンプレートを Xcode にインストールします。

このようにして、1 つの環境でアプリケーションをすばやく作成し、ビューを別の環境に移行できます。実際、QuickConnect フレームワークは高度にモジュール化されています。

JavaScript で開発したくない場合は、同じモジュラー フレームワークが、インストールされたテンプレートの Objective-C 側にあります。

あなたがしようとしていることがずっと簡単になるはずです。

于 2008-12-06T23:58:58.180 に答える