3

我意识到 Mac 和 iPhone 应用程序之间的视图/控制器内容会有所不同,但模型代码可能很相似/相同。那么组织项目以便/可以共享模型代码的最佳方式是什么?

  1. 复制/粘贴 - 只需复制并手动保持同步
  2. 让 2 个 xcode 项目指向同一个工作区 - 一个用于 Mac,一个用于 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”)命名的目录,从而使标题路径等效。那是我复制的文件夹,我将框架文件拖入。最后,我将 Externals 文件夹添加为系统头路径(这无疑是一种严重的黑客攻击)。您需要手动将新文件添加到 iPhone 项目中,但我发现将静态库安装到我的构建根目录中并不那么痛苦。

于 2008-10-28T10:04:01.977 回答
1

我不确定上一个答案的建议是否有效。如果您查看我之前的问题,您会发现我未能在 iPhone 上加载自定义框架,即使该框架在 Mac 上运行良好。

我会选择方法2。

于 2008-10-23T10:34:46.603 回答
-2

您可以使用 JavaScript、CSS 和 HTML 开发您的应用程序。您将分别在 Mac 和 iPhone 上使用 WebView 和 UIWebView 对象。你可以在 WebView 对象中做任何你想做的事情,甚至可以调用 Objective-C。

QuickConnectiPhone 安装程序可在此处找到https://sourceforge.net/projects/quickconnect/,它将 QuickConnectMac 和 QuickConnectiPhone 模板安装到 Xcode 中。

这样,您可以在一个环境中快速创建应用程序,然后将视图迁移到另一个环境。事实上,QuickConnect 框架是高度模块化的。

如果您不想在 JavaScript 中开发,可以在安装的模板的 Objective-C 端找到相同的模块化框架。

它应该让你更容易做你正在尝试的事情。

于 2008-12-06T23:58:58.180 回答