找不到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!