xcode 6 pch.file не найден

Я загружаю свой проект из xcode 5 в xcode 6 и вижу ошибку myProject-prefix.pch не найден в myProjectTests, я добавляю этот файл и вижу новую ошибку

Ld /Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Products/Debug-iphonesimulator/Мобильный\ Extreme\ FitnessTests.xctest/Мобильный\ Extreme\ FitnessTests normal x86_64
cd /Users/willrock/Desktop/ExtremeFitness
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.0.sdk -L/Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Products/Debug-iphonesimulator -F/Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Products/Debug-iphonesimulator -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.0.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.0.sdk/Developer/Library/Frameworks -filelist /Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Intermediates/Мобильный\ Extreme\ Fitness.build/Debug-iphonesimulator/Мобильный\ Extreme\ FitnessTests.build/Objects-normal/x86_64/Мобильный\ Extreme\ FitnessTests.LinkFileList -bundle_loader /Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Products/Debug-iphonesimulator/extreme_fitness.app/extreme_fitness -Xlinker -objc_abi_version -Xlinker 2 -framework XCTest -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=7.1 -framework XCTest -framework UIKit -framework Foundation -Xlinker -dependency_info -Xlinker /Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Intermediates/Мобильный\ Extreme\ Fitness.build/Debug-iphonesimulator/Мобильный\ Extreme\ FitnessTests.build/Objects-normal/x86_64/Мобильный\ Extreme\ FitnessTests_dependency_info.dat -o /Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Products/Debug-iphonesimulator/Мобильный\ Extreme\ FitnessTests.xctest/Мобильный\ Extreme\ FitnessTests

ld: file not found: /Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Products/Debug-iphonesimulator/extreme_fitness.app/extreme_fitness clang: error: linker command failed with exit code 1 (use -v to see invocation)

если я загружаю проект, см. xctest

clang: error: no such file or directory: '/Users/willrock/Desktop/ExtremeFitness/extreme_fitness/extreme_fitness-Prefix.pch' clang: error: no input files Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

но в xcode 5 работает нормально


person alex willrock    schedule 15.09.2014    source источник
comment
чистый проект. Удалите производные данные вашего приложения из органайзера.   -  person Nik Yekimov    schedule 15.09.2014


Ответы (9)


  1. Создать новый файл: ⌘cmd+N
  2. iOS/Mac > Другое > Файл PCH > YourProject-Prefix.pch.
  3. Убедитесь, что вы показываете «Все», а не «Основные». (Синие кнопки)
  4. Проект> Настройки сборки> Поиск: «Заголовок префикса».
  5. В разделе «Apple LLVM 7.0» вы получите ключ Prefix Header.
  6. Введите каталог файла. например: "$(SRCROOT)/$(PROJECT_NAME)/ProjectName-Prefix.pch".
  7. Очистить проект: ⌘cmd+⇧shift+K
  8. Сборка проекта: ⌘cmd+B

Изображение заголовка префикса

person emotality    schedule 30.09.2014
comment
На шаге 5 я бы вместо этого набрал $(SRCROOT)/$(PROJECT_NAME)/YourProject-Prefix.pch. - person Sendoa; 05.11.2014
comment
Нет необходимости в YourProjectName/YourProject-Prefix.pch. вы можете напрямую указать имя .pch - person Kirtikumar A.; 18.12.2014
comment
Errrr... Это ОЧЕВИДНО зависит от того, где находится файл. Ни один нормальный человек не хранит файлы вне папки проекта. - person emotality; 18.12.2014
comment
после создания нового файла pch у меня новая ошибка. . . Ошибка команды компоновщика с кодом выхода 1 ld: файл не найден: /Users/mac/Library/Developer/Xcode/DerivedData/ABC-dnblevzgtsdkywcsetmlxmpcaada/Build/Products/Debug-iphonesimulator/ABC_4.0.app/ABC_4.0 любые идеи или помощь ? - person Taskinul Haque; 18.02.2015
comment
Удалите приложение с устройства или симулятора, затем выполните шаги 6 и 7. Сообщите нам. - person emotality; 18.02.2015
comment
приложение никогда не устанавливалось на симуляторе. . . . - person Taskinul Haque; 18.02.2015
comment
Ну что ж, откройте новый вопрос, здесь никто не увидит ваш вопрос. :) - person emotality; 18.02.2015
comment
спасибо за совет, и я только что сделал -› здесь stackoverflow.com/questions/28576447/ - person Taskinul Haque; 18.02.2015
comment
Это решение сработало для меня, я искал элемент и добавил имя проекта/имя префикса. Я пробовал только префикс имени файла, но не работал. - person Jose Manuel Abarca Rodríguez; 05.03.2015
comment
О, в Xcode 7 просто сделайте это в цели и не устанавливайте Precomepile. - person LE SANG; 11.11.2015

я решил это - в целях удалите цель xctest, и она скомпилирована

person alex willrock    schedule 16.10.2014
comment
Это фиктивный обходной путь, потому что проблема не решается, а удаляется из системы счисления! Если я хочу добавить цель обратного тестирования? - person Luca Davanzo; 16.10.2014

Попробуйте это с Xcode 6. Вам нужно вручную создать файл PCH.

Файл -> Создать -> Файл -> iOS -> C и C++ -> Файл PCH.

Добавьте в проект новый файл PCH — Новый файл > Другое > Файл PCH.

В опции «Настройки сборки» проекта - установите значение «Заголовок префикса» для имени вашего файла PCH с именем проекта в качестве префикса, т.е. для проекта с именем «TestProject» и файла PCH с именем «MyPrefixHeaderFile», добавьте значение «TestProject /MyPrefixHeaderFile.pch» в plist.

person Deepak    schedule 15.09.2014
comment
Отсутствие файла PCH является причиной того, что мой Xcode все время ноет, не распознавая API UIKit и Foundation для нескольких классов. Чувак, этих парней из Apple, стоящих за Xcode, следует уволить за то, что они распространяют такой дрянной материал. С каждым обновлением Xcode становится все хуже. Спасибо за совет. - person Duck; 25.09.2014
comment
@spacedog Ничто так не говорит о том, что я рациональный, профессиональный взрослый, как нытье о ваших инструментах. - person buildsucceeded; 01.03.2016
comment
Если вы принимаете дерьмо, не жалуясь, ситуация не улучшится. Профессионалы всегда жалуются, потому что хотят создавать лучшие вещи, а для этого им нужны лучшие инструменты. Ложкой и вилкой готический собор не построишь. - person Duck; 01.03.2016

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

  1. Я удалил запись в заголовке префикса настроек сборки.

Путь->Target> Build Settings > Prefix Header.

  1. Удален файл Ваши тесты проекта в Targets.

    снимок экрана для второй точки.

Ссылка: http://www.buzztouch.com/forum/thread.php?tid=F42D8239A330C321132944A¤tPage= 3

person Imran    schedule 16.01.2015

Создайте новый файл pch. Назовите файл как Demo-Prefix.Pch. Перейдите к целям - Настройки сборкикак проблема со скриншотом решена точно

person Anand Kr. Avasthi    schedule 05.11.2014
comment
вы можете назвать файл как хотите, он не должен быть чем-то конкретным, при этом я не понимаю голосование против - person Taskinul Haque; 18.02.2015

Сделайте следующее, заменив [Precompile Prefix Header] на [no] и [Prefix Header] на пустое поле.

И я пересобираю проект, он проходит и запускается!

[Project]
-[Basic]
-[Apple LLVM6.1-Language]
--[Precompile Prefix Header]-[no]
--[Prefix Header]--[]
person bruce    schedule 12.06.2015

Вот описание того, что вы должны сделать

  1. Нажмите на первую папку под синей страницей с названием проекта. Рядом с папкой также находится название проекта.

  2. File > New File > iOS > Other

  3. Нажмите на PCH File

  4. Нажмите Next

  5. Сохранить как: PrefixHeader

  6. Установите первый флажок под Targets ТОЛЬКО; если другие отмечены, снимите их

  7. Нажмите Create

  8. Если файл Prefix Header" оказался в другой папке, например, в папке Supporting Files, переместите его в верхнюю папку, которую вы щелкнули на шаге 1.

  9. Нажмите на синюю страницу в верхней части левой боковой панели с названием проекта рядом с ней. Это чуть выше папки, на которую вы нажали на шаге 1.

  10. Нажмите на вкладку Build Settings

  11. В строке поиска введите Prefix Header и нажмите клавишу Return/Enter

  12. Ищите Apple LLVM 6.0 or 7.0 - Language. 6.0 относится к Xcode 6, а 7.0 относится к Xcode 7. Это не имеет значения.

  13. Убедитесь, что для Increase Sharing of Precompiled Headers установлено значение No, а для Precompile Prefix Header установлено значение No.

  14. Найдите строку Prefix Header сразу под строкой Precompile Prefix Header. Переместите курсор примерно на 5 дюймов, но оставайтесь на той же линии. Двойной клик. Коробка откроется.

  15. Введите название вашего проекта (это указано рядом с папкой, на которую вы нажали на шаге 1)

    Пример) Предварительное требование для просроченного назначения ОЧЕНЬ ВАЖНО, чтобы вы вводили заглавные буквы там, где это необходимо, например, «P» в «Предварительное требование». Он чувствителен к регистру. Теперь введите косую черту (/). Затем введите имя файла, созданного на шагах 2–7 (Опять же, здесь учитывается регистр, и вы должны ставить пробелы там, где это необходимо). Я рекомендую вам оставить файл как PrefixHeader (без пробелов). После имени файла, например PrefixHeader, введите .pch ВСЕ в нижнем регистре.

  16. Окончательный результат должен выглядеть примерно так:

    Prereq for Overdue Assignment/PrefixHeader.pch

  17. Теперь щелкните меню Product (6 меню из меню файла, которое вы выбрали на шаге 2). Затем нажмите на Clean

    Вы можете пропустить этот шаг, одновременно удерживая command, shift и K. Как только вы получите сообщение, Clean Succeeded, перейдите к шагу 18.

  18. Нажмите на меню Product и перейдите к Build. Нажмите на Build.

    Вы можете пропустить этот шаг, одновременно удерживая command и B. Вы должны получить Build Completed.

Вот и все!

person Dan    schedule 15.07.2015

  • выберите свой фреймворк в файловом навигаторе
  • откройте панель утилит (Xcode -> View -> Utilities -> Show File Inspector)
  • включить целевое членство в вашей структуре для всех целей.
person Apoc    schedule 09.02.2015

Просто измените имя схемы на то, что вам нужно. Очистите проект, затем скомпилируйте его. Это работает для меня.

person Rana Raza    schedule 26.04.2016