在iPhone上使用CHDataStructures.framework

3
我是iPhone编程新手,想在我的项目中使用 CHDataStructures。但我遇到了一些问题:
  1. 直接下载后尝试构建时出现错误“Foundation/Foundation.h”找不到文件或目录。Active SDK为“使用基本SDK”,活动架构为x86_64。我认为我应该将Active SDK设置为iPhone SDK,但它没有列在那里;
  2. 在某个时刻(我不记得是怎么做的),我设法调整了它,我得到了iPhone SDK(模拟器)在活动SDK中,但当我尝试构建它时,我得到了以下错误:“目标指定产品类型'com.apple.product-type.framework',但对于'iphonesimulator'平台没有这样的产品类型”;
现在我被卡住了。我做错了什么?
提前感谢, Nuno
1个回答

3
CHDataStructures是一个为Mac编写的框架。iPhone上不使用框架,而是使用静态库。建议创建一个新的Cocoa Touch静态库项目,然后将所有源文件添加到该静态库中。该项目的所有源文件似乎都不包含Cocoa.h或其他特定于Mac的头文件,因此您应该能够在不进行太多调整的情况下编译此静态库。
这里有几个关于创建和使用静态库的好问题,包括以下内容:
- "在iPhone中实现静态库" - "在iPhone上如何制作(和使用)静态库" - "为iPhone创建静态库"

关于静态库的例子,我会向您推荐Three20Core Plot项目。


更新: CHDataStructures 现在支持 Mac 框架和 iOS 静态库。


1
我想到为iPhone创建一个静态库的目标会是我的框架Xcode项目的一个很好的补充。我会看看是否有时间添加它 - 如果有人愿意帮忙,我非常欢迎贡献。 :-) - Quinn Taylor
嗨,Quinn,我刚试图向你的项目添加一个Cocoa Touch目标,但似乎并不容易,因为一些类依赖于NSAllocateCollectable(例如CHDoublyLinkedList),而iPhone不支持它。这里其他的SO帖子似乎表明你的库在iPhone上可以工作,但对我来说,除非修改内存管理代码,否则它似乎无法正常工作。我有什么遗漏吗? - Ole Begemann
好的,我会尝试做到。这是我第一次做这样的事情,所以我不能保证什么。 - Ole Begemann
请问您能否及时向我更新此事的进展情况?非常感谢。 - nununo
@Quinn Taylor,你好Quinn,CHDataStructures的下载链接失效了,请看一下! - Jack
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接