找不到RKObjectMapping.h

我“pod更新”,我的RestKit版本现在是0.25.0,我的RKValueTransformers是1.1.2,并出现错误“RKObjectMapping.h”未find。

RestKit在新版本中有什么变化,我检查了它的github找不到任何东西。

以下步骤可以重现该错误:

1)创build一个新的项目

2)pod init

Podfile看起来像:

platform :ios, '8.3' #pod 'RestKit', '~> 0.20.0' #pod 'RestKit', '~> 0.24.1' pod 'RestKit' 

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

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> 

要么

 #import "RKObjectMapping.h" #import "RKRelationshipMapping.h" #import "RKResponseDescriptor.h" #import "RKObjectRequestOperation.h" #import "RKLog.h" #import "RKEntityMapping.h" #import "RKObjectManager.h" 

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

注意:我正在使用Xcode 7-beta5,Objective-C

当你不想碰cocoapods时,有一个简单的方法来解决这个问题。 因为修复它们本身就很麻烦。 我已经解决了我的问题,如下所示:

点击你的项目文件
然后去build立设置search“ 标题searchpath
随着下拉,让他们recursion

你应该寻找以下内容:

 ${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 

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

标题searchpath不再处于recursion模式。

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

1)删除最新版本的cocoapod

 sudo gem卸载cocoapods

2)安装0.38.0版本

 sudo gem安装cocoapods -v 0.38.0

希望可以帮助别人。

更新:

感谢Vig,我们可以做一个特定的版本:

荚_0.38.0_更新
荚_0.38.0_安装

这个问题终于在RestKit的开发分支中得到了修复,最后的补丁是在1d8f3e332,我想。

希望它很快就会融合成为主人。

现在,如果你感觉很勇敢,你可以使用

 pod 'RestKit', :git => 'git@github.com:RestKit/RestKit.git', :commit => '1d8f3e3325d959094a3f96c832bf9f54c9c48df3' 

我通过将框架构build为框架来解决这个问题。

 use_frameworks!