适用于iOS和OS X应用程序的库?

有一段时间我通过创建2D游戏编程工具包/库来杀死业余时间。 它是用Objective C编写的,由一个OpenGL渲染系统和一大堆AI,物理代码,一堆专门的容器和其他游戏相关的东西组成。 除了基于OpenGL的View机制(显然)之外,大多数代码都应该可以轻松移植到iOS,因为它只使用了Foundation Framework,而且该框架似乎是在iOS上实现的。 到目前为止,我只使用Cocoa NSOpenGLView测试各种组件,但现在我想创建一个OS X / iOS库。

我的问题是:

创建可以集成到iOS或OS X应用程序中的Objective-C库的最佳策略是什么?

Xcode的“新建项目”对话框仅提供:

iPhone OS ; 图书馆:
– Cocoa Touch静态库。

Mac OS X ,框架和库:
– cocoa框架
– cocoa图书馆
– 捆绑
– BSD C图书馆
– STL C ++库
– JNI图书馆

乍一看似乎没有一个用于创建可以集成到OS X或iOS应用程序中的库。

好吧,我终于找到了正确的谷歌搜索术语集,所以为了回答我自己的问题(DOH!),似乎可以共享代码,至少在iPhone应用程序之间,也可能在某些限制内的iPhone和OS X应用程序之间。 您必须创建一个“静态库”并使用“跨项目引用”:

http://www.clintharris.net/2009/iphone-app-shared-libraries/
http://www.amateurinmotion.com/articles/2009/02/08/creating-a-static-library-for-iphone.html
http://zetetic.net/blog/2010/02/15/building-static-libraries-to-share-code-on-iphone-and-mac-os-x-projects/
http://weston-fl.com/blog/?p=808

尚未测试任何此类但它看起来很有希望。

你可以用Targets做到这一点。

为Cocoa库创建一个新项目。 然后为iOS静态库添加新目标。 在创建新文件时,请确保将它们添加到适当的目标(即可能在您的情况下),并根据需要设置每个目标的构建设置。

在不同平台上使用您的库的项目需要链接到相应的产品,但您不需要复制代码。