找不到RKObjectMapping.h

chi*_*k10 48 objective-c restkit cocoapods

我"pod update",我的RestKit版本现在是0.25.0,我的RKValueTransformers是1.1.2,并且找不到错误"RKObjectMapping.h".

RestKit在新版本中的变化是什么,我检查它的github无法找到任何东西.

以下步骤可以重现错误:

1)创建一个新项目

2)pod init

Podfile看起来像:

platform :ios, '8.3'
#pod 'RestKit', '~> 0.20.0'
#pod 'RestKit', '~> 0.24.1'
pod 'RestKit'
Run Code Online (Sandbox Code Playgroud)

在所有不同版本的情况下,问题都是一样的

3)打开.xcworkspace

4)在viewcontroller.m中

#import <RestKit/ObjectMapping/RKObjectMapping.h>
#import <RestKit/ObjectMapping/RKRelationshipMapping.h>
#import <RestKit/Network/RKResponseDescriptor.h>
#import <RestKit/Network/RKObjectRequestOperation.h>
#import <RestKit/Support/RKLog.h>
#import <RestKit/CoreData/RKEntityMapping.h>
#import <RestKit/Network/RKObjectManager.h>
Run Code Online (Sandbox Code Playgroud)

要么

#import "RKObjectMapping.h"
#import "RKRelationshipMapping.h"
#import "RKResponseDescriptor.h"
#import "RKObjectRequestOperation.h"
#import "RKLog.h"
#import "RKEntityMapping.h"
#import "RKObjectManager.h"
Run Code Online (Sandbox Code Playgroud)

错误仍然存​​在:在RestKit Pod的文件中找不到"RKObjectMapping.h"

注意:我使用的是Xcode 7-beta5,Objective-C

Ali*_*lix 96

当您不想触摸cocoapods时,可以轻松解决此问题.因为修理它们本身很麻烦.我修复了我的问题如下:

单击您的项目文件
然后转到构建设置 搜索" 标题搜索路径 "
使用下拉列表,只需使它们递归.

你应该寻找以下:

${PODS_ROOT}/Headers/Public/AFNetworking
${PODS_ROOT}/Headers/Public/Bolts
${PODS_ROOT}/Headers/Public/ISO8601DateFormatterValueTransformer
${PODS_ROOT}/Headers/Public/RKValueTransformers
${PODS_ROOT}/Headers/Public/RestKit 
${PODS_ROOT}/Headers/Public/SOCKit
${PODS_ROOT}/Headers/Public
Run Code Online (Sandbox Code Playgroud)

  • 我错过了$ {PODS_ROOT}本身.添加这个(并使其递归)为我解决了问题.你刚刚为我救了很多工作.谢谢! (5认同)
  • 这是解决方案,谢谢! (2认同)
  • 如果`$ {PODS_ROOT}/Headers/Public`是递归的,为什么还要使所有其他子目录递归?这个修复程序对我有用,但我只需要将那个顶级目录`$ {PODS_ROOT}/Headers/Public`递归,而不是所有其他目录. (2认同)

chi*_*k10 75

经过一段时间的努力,我注意到错误不是来自RestKit.它来自升级最新版本的cocoapods(0.39.beta.4).

标题搜索路径不再处于递归模式.

解决方法是将cocoapods的版本降级到0.38.0.

1)删除最新版本的cocoapod

sudo gem uninstall cocoapods

2)安装0.38.0版本

sudo gem install cocoapods -v 0.38.0

希望可以帮助别人.

更新:

感谢Vig,我们可以使用特定版本执行pod:

pod _0.38.0_ update
pod _0.38.0_ install

  • 在旁注中,您不需要卸载可可豆荚,您可以使用pod _ 0.38.0 _ install在特定版本上执行pod,而下划线之间没有空格 (12认同)
  • 仍然有Xcode 7.1的这个问题,降级到0.38.0或0.38.2并没有解决问题. (2认同)