2010-09-19 70 views
19

一段时间以来,我一直通过创建2D游戏编程工具包/库来节省空闲时间。它是用Objective C编写的,包含一个OpenGL渲染系统和一大堆AI,物理代码,一堆专用容器和其他与游戏有关的东西。除了基于OpenGL的View机制外(很明显),这些代码中的大部分应该可以轻松地移植到iOS上,因为它只使用Foundation Framework,并且该框架似乎在iOS上实现。到目前为止,我只使用Cocoa NSOpenGLView测试了各种组件,但现在我想创建一个OS X/iOS库。适用于iOS和OS X应用程序的库?

我的问题是:

什么是用于创建可集成到任何iOS或OS X应用程序一个Objective-C库的最佳策略是什么?

Xcode的 '新建项目' 对话框只提供:

iPhone OS;库:
- Cocoa Touch静态库。

的Mac OS X,框架和库:
- Cocoa框架
- 可可图书馆
- 捆绑
- BSD C库
- STL C++库
- JNI库

乍一看这些似乎都不是用来创建一个可以集成到OS X或iOS应用程序中的库。

回答

10

好了,我终于找到了正确的一组谷歌的搜索字词,所以要回答我的问题(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

没有测试过任何这还没有,但它看起来很有希望。

+0

只有第一个链接正在工作。其他3人死亡。 – Pang 2015-09-13 05:46:20

6

你可以用目标来做到这一点。

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

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

+0

所以我猜一个独特的框架目标不能同时处理这两个。特别是将'SDKROOT'设置为最新的iOS和OS X SDK似乎都不起作用。 – Rivera 2014-10-30 09:44:09

相关问题