Xcode 5.0.2 dyld:未加载库:@ rpath / XCTest.framework / Versions / A / XCTest

问题描述 投票:30回答:11

我在Xcode 5.0.2中运行项目时遇到问题

我收到以下错误:

dyld: Library not loaded: @rpath/XCTest.framework/Versions/A/XCTest
  Referenced from: /Users/chris/Library/Developer/Xcode/DerivedData/relatio-cwlmozvklaldmictbbjthzuoxnxz/Build/Products/Debug/relatio.app/Contents/MacOS/relatio

原因:未找到图像(lldb)

我该如何解决这个问题?

xcode dyld xctest
11个回答
25
投票

看起来您的主要目标是链接到XCTest.framework以及您的测试目标。它应该只与主要目标相关联。

1)转到项目设置

2)转到您的应用程序主目标 - >其他链接器标志

3)删除'-framework XCTest'

4)确保测试目标的“其他链接器标志”字段仍包含“-framework XCTest”


0
投票

仅针对那些提出相同问题的人:

检查右侧菜单,看起来像这样:

Should be

并且不必看起来像那样:

Shouldn't be


0
投票

对于我们的情况,我们希望将Mockingjay用于app目标和测试目标

target 'MyProject' do
  pod 'Mockingjay/Core'
  # all pods that are not test go here

  target 'MyProjectTest' do
      inherit! :search_paths
      pod 'Mockingjay/XCTest'
      pod 'Quick', ' ~> 0.9.2'
      # .. all test pods go here
  end
end

0
投票

一个对我有用的解决方案是将你的Podfile中的测试目标inherit attribute:search_paths更改为:complete。虽然this answer认为:search_paths是专为测试环境设计的。

target 'myapp' do    
  use_frameworks!

  target 'myappTests' do
    #inherit! :search_paths
    inherit! :complete
  end

end

17
投票

我通过重命名我的目标遇到了这个错误,其中一个是测试目标。在阅读了其他答案后,我意识到我的构建阶段>编译源包括测试类作为非测试目标的编译源,然后尝试导入XCTest框架。

从我的常规目标的Compile Sources中删除测试类解决了这个问题。


7
投票

这里的问题是,根据您发布的dyld错误消息,您的应用程序将链接到XCTest.framework。那是不对的;只有您的测试包需要链接到XCTest.framework,因为只有您的测试包包含测试。


6
投票

我与OCMock库有类似的问题,解决方案是:

target :"Application Tests", :exclusive => true do
    pod 'OCMock'
end

4
投票

这就是我解决问题的方法:

  1. 导航到项目的“构建设置”
  2. 搜索“Runpath搜索路径”
  3. 在产品名称下方的列中输入以下路径:/Applications/Xcode.app/Contents/Developer/Library/Frameworks/

2
投票

在我的主要Target的“Link Binary With Libraries”(在Build Phases下),我正在使用的测试框架(Nimble.framework)导致了这个问题。删除它,一切都很好!


2
投票

我这样解决了这个问题。我编辑了方案,在“Build”选项卡上勾选“Run”。

enter image description here


1
投票

在框架搜索路径上输入框架的引用并在“Build Settings”下运行路径搜索路径---...现在所有设置都使用import来调用你的项目


0
投票

我有同样的问题是因为我在框架中添加了一个新文件。所以只要运行“pod install”解决了我的问题。但要确保你的Tests下的pod也是目标。

© www.soinside.com 2019 - 2024. All rights reserved.