【问题标题】:CocoaPods update RestKit #import "RKObjectMapping.h" file not foundCocoaPods 更新 RestKit #import "RKObjectMapping.h" 文件未找到
【发布时间】:2015-10-27 14:46:42
【问题描述】:

我想更新我的一些项目 pod,在运行 pod update "some_framework" 并尝试构建项目后出现此错误:

找不到导入“RKObjectMapping.h”文件

当前的 CocoaPod 版本是 0.39.0 我尝试降级到 0.38.2 及更低但没有任何成功,XCode 版本是6.4 我尝试将构建设置中的搜索路径配置从非递归更改为递归,但再次失败。

所以我不知道下一步该做什么,因为我需要在项目中进行一些更新,而 RestKit 是与服务器端合作的主要框架。

Pod 文件:

source 'https://github.com/CocoaPods/Specs.git' 
platform :ios, '7.1'
pod 'RestKit', '~> 0.24.1'
pod 'EZForm', '~> 1.1.0'
pod 'OCMock', '~> 3.0'
pod 'ImoDynamicTableView', '~> 1.1.273'
pod "ImoDynamicPopUp"
pod 'Masonry', '~> 0.6'

这是错误的样子,在 Xcode 中:Error image

【问题讨论】:

  • 你的 podfile 包含什么?
  • 我已经编辑了问题。
  • 有一个等待合并的提交修复了这个问题,将是 v0.26.0
  • @Wain 有什么想法什么时候会发生?

标签: ios objective-c restkit rkobjectmapping


【解决方案1】:

聚会有点晚了,我在 cooca pod 0.39.0 和 restkit 0.24.1 上遇到了同样的问题,将 restkit 更新到 0.26.0 并修复了问题

【讨论】:

    【解决方案2】:

    公共头文件中的导入应该是#import <RestKit/Subdirectory/RKHeader.h> 而不是#import "RKHeader.h"

    这是 RestKit 与未来 CocoaPods 版本兼容所必需的,因为 中引入了 CocoaPods/CocoaPods#4057(HEADER_SEARCH_PATHS 将不再递归构造) >0.39.0.beta.1.

    【讨论】:

    • 我的 restkit 导入看起来像 #import <RestKit/RestKit.h>
    【解决方案3】:

    我知道这很旧,但解决此问题的最简单方法是在目标设置中的Header Seach Paths 下的Header Seach Paths 中添加${PODS_ROOT}(并将其设置为递归)。

    【讨论】:

      【解决方案4】:

      几天前有同样的问题。看来我有两个 CocoaPods 版本 0.39.0 和 0.38.2。当我删除 0.39.0 并更新 pod 时,它起作用了。 在终端中使用gem list 来查看已安装的gem。

      【讨论】:

      • 我按照你的写法做了,还有其他错误Undefined symbols for architecture arm64: "_RKLogCoreDataError", referenced from: ___33-[RKEntityByAttributeCache load:]_block_invoke in libRestKit.a(RKEntityByAttributeCache.o) ___43-[RKManagedObjectImporter finishImporting:]_block_invoke in libRestKit.a(RKManagedObjectImporter.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
      • 可能会尝试删除cocoapods并重新安装它们,并删除DerivedData,模块缓存,重新加载Xcode等。RestKit有时会发生这种错误。
      • 我已经尽力按照你的建议去做,但没有帮助:(我不知道这里出了什么问题。
      • 很久以前,RKObjectMapping.h 也有同样的问题,而 pod 没有问题。但是第二天它就消失了,即使我没有做任何改变。很奇怪。
      【解决方案5】:

      我遇到了同样的问题,我确实使用了 0.26.0 版本的 Restkit,但使用了 0.38.2 的可可豆荚。之后我唯一要更改的是选择“Project Pods”,然后在“Build Settings -> Build Active Architecture Only”中更改为NO强>


      [更新]!!!! 您现在可以按照github 的这篇帖子中@sajjon 的回答来使用cocopods 版本:0.39.0、1.0.0 和1.0.1

      如果有人在使用 RestKit 0.26.0 和 Cocoapods 1.0.1 时遇到问题, 希望这会有所帮助!

      此解决方案至少在 2016-06-03 有效,但由于它使用 特定的 git 分支可能会被合并,所以如果没有 为你工作请检查这个 git 分支是否已经 合并/移动/删除。

      在一切之前清理干净

      退出 Xcode

      rm -rf Pods 
      rm -rf MyApp.xcworkspace   
      rm -rf ~/Library/Caches/CocoaPods 
      rm -rf ~/Library/Developer/Xcode/DerivedData 
      

      Use mcfedr's RestKit fork

      必须与 AFNetworking 的“可达性”分支一起使用

      pod 'AFNetworking', :git => 'https://github.com/mcfedr/AFNetworking.git', :branch =>
      'reachability' 
      pod 'RestKit', :git => 'https://github.com/mcfedr/RestKit.git', :branch => 'pods1' Use module
      

      桥接头中的导入语法

      @import RestKit;
      

      【讨论】:

        【解决方案6】:

        更新到 Cocoapods 1.1.1 和 RestKit 0.26.0 并且运行良好。

        【讨论】:

        • 为我工作。赞克斯!
        • 很高兴知道!!
        猜你喜欢
        • 2015-12-10
        • 1970-01-01
        • 2016-02-07
        • 1970-01-01
        • 2013-01-18
        • 2017-02-17
        • 2023-04-02
        • 2015-09-28
        • 1970-01-01
        相关资源
        最近更新 更多