Cocoapods <restkit restkit.h =“”>未找到</restkit>

时间:2014-09-05 06:53:11

标签: ios objective-c iphone restkit cocoapods

我很难用我的CocoaPods将RestKit安装到我的项目中。我得到了未找到的错误。

我的Pods.xcconfig如下所示:

  

GCC_PREPROCESSOR_DEFINITIONS = $(继承)COCOAPODS = 1       HEADER_SEARCH_PATHS =“$ {PODS_ROOT} / Headers”“$ {PODS_ROOT} / Headers / AFNetworking”“$ {PODS_ROOT} / Headers / ISO8601DateFormatterValueTransformer”“$ {PODS_ROOT} / Headers / RKValueTransformers”“$ {PODS_ROOT} / Headers / RestKit” “$ {PODS_ROOT} / Headers / RestKit / CoreData”“$ {PODS_ROOT} / Headers / RestKit / Network”“$ {PODS_ROOT} / Headers / RestKit / ObjectMapping”“$ {PODS_ROOT} / Headers / RestKit / Support”“$ {PODS_ROOT} / Headers / SDWebImage“”$ {PODS_ROOT} / Headers / SOCKit“”$ {PODS_ROOT} / Headers / SSKeychain“”$ {PODS_ROOT} / Headers / SVProgressHUD“”$ {PODS_ROOT} / Headers / TTTAttributedLabel“”$ {PODS_ROOT} / Headers / TransitionKit“”$ {PODS_ROOT} / Headers / Vendor / LibComponentLogging / Core“”$ {PODS_ROOT} / Headers / Vendor / LibComponentLogging / NSLog“       OTHER_CFLAGS = $(继承)-isystem“$ {PODS_ROOT} / Headers”-isystem“$ {PODS_ROOT} / Headers / AFNetworking”-isystem“$ {PODS_ROOT} / Headers / ISO8601DateFormatterValueTransformer”-isystem“$ {PODS_ROOT} / Headers / RKValueTransformers“-isystem”$ {PODS_ROOT} / Headers / RestKit“-isystem”$ {PODS_ROOT} / Headers / RestKit / CoreData“-isystem”$ {PODS_ROOT} / Headers / RestKit / Network“-isystem”$ {PODS_ROOT} / Headers / RestKit / ObjectMapping“-isystem”$ {PODS_ROOT} / Headers / RestKit / Support“-isystem”$ {PODS_ROOT} / Headers / SDWebImage“-isystem”$ {PODS_ROOT} / Headers / SOCKit“-isystem”$ {PODS_ROOT } / Headers / SSKeychain“-isystem”$ {PODS_ROOT} / Headers / SVProgressHUD“-isystem”$ {PODS_ROOT} / Headers / TTTAttributedLabel“-isystem”$ {PODS_ROOT} / Headers / TransitionKit“-isystem”$ {PODS_ROOT} /标题/供应商/ LibComponentLogging /核心“-isystem”$ {PODS_ROOT} /标题/供应商/ LibComponentLogging / NSLog“       OTHER_LDFLAGS = -ObjC -framework CFNetwork -framework CoreData -framework CoreGraphics -framework CoreText -framework Foundation -framework ImageIO -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration       PODS_ROOT = $ {SRCROOT} / Pods

像这样的Podfile:

platform :ios, '7.0'

pod 'TTTAttributedLabel'

pod 'SVProgressHUD', :head

pod 'SDWebImage', '~>3.6'

pod 'SSKeychain'

pod 'RestKit', '0.23.1'

我在其他链接器标志中的项目设置包括:

$(inherited)

标题搜索路径还包括:

$(inherited)
"$(BUILT_PRODUCTS_DIR)/../../Headers"

我的目标配置如下:

enter image description here

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

就我而言,这个问题与 pod 配置有关。

解决步骤。

IMP:在进行任何配置更改之前备份您的项目。

  1. 找到在您的项目中定义变量 PODS_ROOT 的文件。它将在 Pods-<Project Name>.debug.xcconfigPods-<Project Name>.release.xcconfig 文件下定义。
  2. 在 Finder 中显示/显示两个文件,它将位于文件夹 /Pods/Target Support Files/Pods-<Project Name>/
  3. 从您的项目中删除这两个文件(不要垃圾,只删除引用)
  4. 现在从您的项目导航器中打开 build-debug.xcconfig

替换下面一行,

#include "../pods-debug.xcconfig"

下面一行,

#include "../Pods-<Your Project Name>.debug.xcconfig"

并在 build-release.xcconfig 中替换以下行,

#include "../pods-release.xcconfig"

下面一行,

#include "../Pods-<Your Project Name>.release.xcconfig"
  1. 分别用文件夹 pods-debug.xcconfig 中的文件 pods-release.xcconfigPods-<Your Project Name>.debug.xcconfig 替换项目文件夹下的原始文件 Pods-<Your Project Name>.release.xcconfig/Pods/Target Support Files/Pods-<Project Name>/ 文件。

  2. 将新的配置文件 Pods-<Your Project Name>.debug.xcconfigPods-<Your Project Name>.release.xcconfig 添加回您的项目。

  3. 确认您的项目和目标都指的是 pods-debug.xcconfig/pods-release.xcconfig(选择项目文件,然后选择“信息”选项卡,在该选项卡下展开“配置”)

  4. 确认 'Build Settings/Header Search Paths' 包含 $(inherited)

  5. 重新打开您的项目并进行干净的构建。

解释问题

pod 配置没有正确加载到您的项目中,为了测试这个,您可以简单地在 'Build Settings/Header Search Paths' 下添加“$(PODS_ROOT)/test”,您可以看到它正在解析为 '/test' ,这意味着变量 PODS_ROOT 未定义,因此解析为空字符串。这意味着定义 PODS_ROOT 的配置文件未加载到项目设置中。现在检查在您的 Xcode 项目中设置的配置文件(选择项目文件,然后选择“信息”选项卡,在该选项卡下展开“配置”)它指的是 build.xcconfigbuild-debug.xcconfig/build-release.xcconfig。这些文件包含 pod 配置文件,但包含的配置文件 pods-debug.xcconfig/pods-release.xcconfig 不包含所需的 pod 配置详细信息。所以,现在我们用正确的配置文件替换了它。您也可以尝试复制粘贴配置文件的内容,以避免替换文件。