2008-10-23 58 views
3

我意识到Mac和iPhone应用程序中的视图/控制器的内容不同,但型号代码可能相似/相同。那么组织一个或多个项目的最好方法是什么,以便模型代码可以被共享?在项目之间共享iphone和mac代码的最佳方式

  1. 复制/粘贴 - 只需复制并手动保持同步
  2. 有2个Xcode的项目指向同一工作区 - 一个用于Mac和一个用于IPhone和共享代码。
  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项目中,但是我发现将静态库安装到我的构建根目录中会比较麻烦。

1

我不确定上一个答案的建议是否可行。如果你看看我的previous question,你会发现我没有在iPhone上加载自定义框架,即使框架在Mac上正常工作。

我会去方法2.

+0

哦......会留意的。 – 2008-10-23 13:45:12

-2

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

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

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

如果您不想用JavaScript进行开发,则可以在安装的模板的Objective-C一侧找到相同的模块化框架。

它应该让你更容易做你正在尝试的东西。

相关问题