6

我正在开发一个基于 Cocoa touch 的 Objective-c 框架,并且正在研究其他用于解析 JSON 和 XML 数据的框架。

我希望开发人员能够轻松地使用我的框架开箱即用,并且想知道有条件地包含第三方框架的最佳方式是什么。我想在信用到期时给予信用,所以我不想将其他项目包含在发行版中,但我希望开发人员能够添加一个框架(甚至只是一堆类),比如 SBJson 或触摸 XML 并让我的代码库查看包含的代码库并将其与它提供的附加功能一起使用。通过某种配置文件或在项目设置中启用框架也是一种选择,但不太理想。

  1. 使用编译器设置执行此操作的最佳方法是什么?我看到很多开发人员将包含的框架从“必需”切换到“可选”,但我认为 SBJson 或 Touch XML 都没有被编译为或使用 Objective-C 框架包 (.framework) 或 C 来实现静态库(.a),因此无法利用这一点。

  2. 如何在代码中有条件地实现这一点?例如,SBJson 的头文件是通过 #import "SBJson.h"编译器指令导入的,但如果找不到所需的头文件,这将失败。

4

1 回答 1

3

您可以包含 .h 但使用其中的对象时,您需要使用 NSClassFromString 调用它

于 2012-12-25T09:41:20.483 回答