Подтвердить что ты не робот

Xcode 5.0.2 dyld: библиотека не загружена: @rpath/XCTest.framework/Версии/A/XCTest

У меня проблемы с запуском проекта в 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)

Как решить эту проблему?

4b9b3361

Ответ 1

Похоже, ваша основная цель - это привязка к XCTest.framework, а также к вашей тестовой цели. Он должен быть связан только с основной целью.

1) Перейдите к настройкам проекта

2) Перейти к основной цели приложений → другие флаги компоновщика

3) удалить '-framework XCTest'

4) убедитесь, что поле "другие флажки компоновщика" для вашей целевой цели все еще содержит "-framework XCTest"

Ответ 2

Я столкнулся с этой ошибкой, переименовав мои цели, один из которых был целью тестирования. Прочитав другие ответы, я понял, что мои "Фазы сборки" > "Скомпилировать источники" включают в себя тестовые классы в качестве источников компиляции для целей без тестирования, которые затем пытались импортировать инфраструктуру XCTest.

Удаление тестовых классов из моих обычных целей. Скомпилированные источники решили это для моего случая.

Ответ 3

Проблема заключается в том, что, согласно сообщению об ошибке dyld, которое вы отправили, ваше приложение связывается с XCTest.framework. Это неверно; только ваш тестовый комплект необходимо связать с XCTest.framework, так как только ваш тестовый комплект содержит тесты.

Ответ 4

У меня была аналогичная проблема с библиотекой OCMock и решением было:

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

Ответ 5

Вот как я решил проблему:

  • Перейдите к проекту "Настройки сборки"
  • Найдите "Пути поиска пути"
  • Введите следующий путь в столбце под названием продукта:/Applications/Xcode.app/Contents/Developer/Library/Frameworks/

Ответ 6

В моей главной целевой "Link Binary With Libraries" (в разделе "Фазы сборки" ) это была среда тестирования, которую я использовал (Nimble.framework), которая вызывала проблему. Удалили, и все отлично!

Ответ 7

Я решил эту проблему таким образом. Я отредактировал схему, на вкладке "Сборка" отмечен "Выполнить".

введите описание изображения здесь

Ответ 8

введите ссылку на свою инфраструктуру на пути поиска в каркасе AND Путь поиска пути запуска в разделе "Параметры сборки" ---... Теперь все настроено на запуск ваших проектов с помощью импорта

Ответ 9

У меня такая же проблема, потому что я добавляю новый файл в фреймворк. Поэтому просто запустите "pod install", решив мою проблему. Но убедитесь, что ваш объект под Tests тоже нацелен.

Ответ 10

Только для тех, кто пришел к одной и той же проблеме:

Проверьте боковое правое меню, которое должно выглядеть так:

Should be

И не должно выглядеть так:

Shouldn't be

Ответ 11

В нашем случае мы хотим использовать Mockingjay как для цели приложения, так и для цели тестирования

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

Ответ 12

Решением, которое сработало для меня, было изменение атрибута inherit в вашем подфайле с :search_paths на :complete. Хотя этот ответ предполагает, что :search_paths предназначен для тестовых сред.

target 'myapp' do    
  use_frameworks!

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

end