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

OCUnit проверяет существующий проект iOS. "ld: файл не найден"

Я следил за этим сообщением в блоге: Добавление модульных тестов к существующему проекту.

Я получаю эту ошибку:

ld: файл не найден: Build/Продукты/Debug-iphoneos/MyApp.app/MyApp команда /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang не удалось с кодом выхода 1

У меня есть целевые свойства теста,

Bundle Loader = $(BUILT_PRODUCTS_DIR)/MyApp.app/MyApp

Test Host = $(BUNDLE_LOADER)

(которые оба приравниваются к: build/Debug-iphoneos/MyApp.app/MyApp)

Моя дикая догадка заключается в том, что эти переменные не указывают на то же место, что и компилятор. "build/Debug-iphoneos/..." vs "Build/Products/Debug-iphoneos/..."

Я мог бы ошибаться в этом вопросе, но в любом случае кто-нибудь знает, что вызывает эту ошибку, или как я могу исправить эти переменные среды?

Спасибо за любую помощь,

Сэм

4b9b3361

Ответ 1

Перейдите в ~/Library/Developer/Xcode/DerivedData, в ваш проект. Оттуда следуйте по пути Bundle Loader. Посмотрите, что на самом деле там.

Теперь посмотрите на свой Info.plist(или на целевые информационные настройки) и найдите "Исполняемый файл" или CFBundleExecutable. Если он ${EXECUTABLE_NAME}, проверьте целевую настройку "Название продукта".

Ответ 2

Я столкнулся с той же проблемой - это не имело смысла, поскольку путь, который он использовал к исполняемому файлу, действительно существовал. Внимательно взглянув на команду компиляции, выяснилось, что на пути загрузчика возникло дополнительное пространство.

Ответ 3

Ищите "Пути поиска" внутри настроек сборки. Вероятно, существуют неисследованные пути в разделе "Пути поиска в базе данных" или другие пути, такие как пути поиска библиотек

Ответ 4

Возможно, вы изменили имя приложения после создания своего проекта. Таким образом, название вашего проекта и приложения отличается. В пути используйте имя вашего приложения, как оно появится в хранилище itunes вместо имени вашего проекта.

Ответ 5

У меня была такая же проблема раньше, и я решил это, проверив настройки сборки → базовый SDK моего целевого объекта unit test и убедившись, что он исправлен в зависимости от вашего типа проекта (OSX или iOS).

Ответ 6

В вашем podfile убедитесь, что вы включили свои тесты в качестве цели

target 'YourAppNameTests' do use_frameworks! pod 'AFNetworking', '2.6.0' pod 'TYMProgressBarView' конец

Это автоматически добавит ссылку Binary with Libraries Framework

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