3

我刚刚开始在我的 iOS 项目中使用 Frank for BDD。我正在使用带有"$(BUILT_PRODUCTS_DIR)/../../Headers"标头搜索路径的 RestKit。执行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)
4

1 回答 1

2

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

由于 Frank 没有将构建放在派生数据文件夹中,而是在项目文件夹本身中,您需要将 Frank 指向相对于项目构建文件夹的 RestKit 头文件。

我这样做的方法是使用默认设置在 Xcode 中使用项目设置 > 构建 > 高级... > 自定义(相对于工作区)更改项目构建位置。

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

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

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

也许这种做事方式会导致构建目录混乱,但它确实有效。

于 2012-10-22T12:21:31.517 回答