将Frank与RESTKIT标头文件结合使用



我刚刚开始使用iOS项目中的bdd for BDD。我正在使用RESTKIT及其"$(BUILT_PRODUCTS_DIR)/../../Headers"标头搜索路径。执行frank build命令时,Frank似乎并没有以正确的方式解释标题搜索路径,因为它找不到正确的标头文件。这会在编译过程中导致故障。

例如,在Frank/frankify.xcconfig文件中需要设置一些设置吗?

/Users/Thijs/Development/CE-App/CE-App/CL-App-Prefix.pch:13:9: fatal error: 'RestKit/CoreData.h' file not found
#import <RestKit/CoreData.h>
        ^
1 error generated.

** BUILD FAILED **

The following build commands failed:
    ProcessPCH /var/folders/w_/mt3n3wgs3xs7819j4nmymn_80000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders/CL-App-Prefix-cnfscskocfnirmdnriqzouhitmle/CL-App-Prefix.pch.pth CE-App/CL-App-Prefix.pch normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

我的第一个本能似乎是正确的。修改Frank/frankify.xcconfig文件对我有用。

由于Frank不放置在派生的数据文件夹中的构建,但是在项目文件夹本身中,您需要将Frank指向RESTKIT标头文件相对于项目构建文件夹。

我这样做的方法是通过使用项目设置> build>"高级...>使用默认设置"来更改项目构建位置。

然后我将以下行添加到Frank/frankify.xcconfig

HEADER_SEARCH_PATHS = $(inherited) $(FRANK_HEADER_SEARCH_PATHS) "$(BUILT_PRODUCTS_DIR)/../../Headers" "$(BUILT_PRODUCTS_DIR)/../Headers"

由于相对构建路径,您只需要一个../而不是两个。通过使用$(inherited),Xcode中的建筑物不受影响。

也许这种做事的方式导致了一个混乱的构建目录,但起作用。

最新更新