参考子项目的.h类

时间:2015-07-25 16:58:54

标签: ios objective-c xcode subproject

Dropbox iOS SDK有自己的Framework包,但为了轻松自定义它,我选择将其Xcode项目作为子项目包含在内。 我该如何引用它的.h类? 我从“添加文件”按钮添加了.xcodeproj,并在标题搜索路径中添加了以下值:

$(PROJECT_DIR)

子项目看起来与主项目处于同一水平。

导入本身是否应该链接依赖项?

(我对Xcode中的导入系统感到非常沮丧)

1 个答案:

答案 0 :(得分:0)

您的基本方法似乎合理(并且非常接近我处理许多供应商项目的方式)。由于您已将$(PROJECT_DIR)添加到标题搜索路径中,并假设该框架位于名为" Dropbox"的目录中,因此您可以通过以下几种方式引用这些包: / p>

#import <Dropbox/Header.h>
#import "Dropbox/Header.h"

我更喜欢将子项目视为&#34;类似系统的&#34;所以倾向于使用尖括号,为内部代码保留双引号。但无论哪种方法都很好。

  

导入本身是否不应该依赖链接?

没有。您仍然需要链接依赖项。 #import只做一件事:将请求的文件插入当前文件中。它确实是所有。它与您获取引用文件并将其复制/粘贴到您的代码中相同(基本上它是如何在预处理器中实现的)。这用于&#34;标题&#34;文件是一个惯例问题。它与编译器的工作方式无关。从技术上讲,您可以导入包含其中方法的.m文件,作为执行代码重用的方法。 (我已经看到在我工作的项目中完成了。请不要这样做......)

在处理ObjC模块时,它有点不同(使用@import而不是#import)。但是,如果您只是按原样导入标题,请将其视为&#34;将此其他文件放在此处,与写入完全一样。&#34;