使用框架语法引用非框架头文件

时间:2013-01-31 19:45:19

标签: objective-c

我有构建到框架中的代码。在调试依赖于框架的其他项目代码时,有时需要将源代码直接构建到另一个项目中。唯一的问题是标题的引用方式:

// Framework
#import <my_framework/my_widget.h>

// Source
#import "my_widget.h"

我可以进行一些编辑并继续前进,但我觉得必须有一个聪明的解决方案,可能与为Framework搜索路径设置一些内容有关。

我很想知道在Xcode中这样做,虽然raw命令也很有用。

更新

尽管有一些明智的建议,但我无法让它发挥作用,所以更明确的帮助会很棒(希望对其他人有帮助)。

// My framework source directory
/work/my_framework_project/source/widgets/my_widget.h
/work/my_framework_project/source/widgets/my_widget.m

// The framework that creates
/work/my_framework.framework/my_framework
/work/my_framework.framework/Headers/my_widget.h

// The project I'm debugging
/work/some_project/source/my_source.m

如果我将框架放入some_project,我会像这样引用我的标题:

#import <my_framework/my_widget.h>

如果我删除对框架的引用并将源添加到项目中,我需要这样做,但不想:

#import "my_widget.h"

请注意,我不导入"my_framework/my_widget.h" - 如果这很重要。

如果我按照第一个建议的答案,那么当我编译它时,我将其作为标志添加到源文件中(目前通过在“编译源”区域中添加它。

-I/work/my_framework.framework/Headers

这并没有解决想要使用框架符号引用导入的问题。

1 个答案:

答案 0 :(得分:1)

  

虽然raw命令也很有用

这是:

<COMPILER> -Imy_framework_dir <other options...>

所以你使用-I(大写'i')标志(GCC或Clang风格)。

Xcode使用“构建阶段 - &gt;上的'用户搜索标题路径'部分支持此功能。项目的编译选项卡。