Попередження про шлях пошуку бібліотеки Xcode 7


117

Це попередження, яке відображається:

для опції '-F / Програми / Xcode-beta.app / Зміст / Розробник / Платформи / iPhoneOS.platform / Розробник / SDKs / iPhoneOS9.0.sdk / Розробник / Бібліотека / Рамки' "не знайдено"

Чи може хтось допомогти вирішити попередження?


1
Ця відповідь виправив цю помилку мені: stackoverflow.com/questions/26665196 / ...
fpr0001

@arwaz shaikh Не забудьте позначити мою відповідь правильною відповіддю (якщо ви вважаєте, що вона правильно відповідає на ваше запитання), це може допомогти людям швидше знайти її через Google або Stack Overflow.
Король-Чарівник

Відповіді:


225

Ось як я вирішив цю проблему

Після міграції мого проекту Xcode, з Xcode 6.4 на Xcode 7, я отримую попереджуюче повідомлення (після компіляції) для тестової цілі :

directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks'

Насправді я щось знайшов, порівнюючи новий проект із старішим ...

У старому проекті попередження вироблялося лише тестовою ціллю моїх проектів. У розділі "Шляхи пошуку" я з’ясував, що він включає в себе два пункти під "Рамкові шляхи пошуку" :

$(SDKROOT)/Developer/Library/Frameworks
$(inherited)

У новому проекті "Рамкові шляхи пошуку" залишилися порожніми.

Видаливши ці записи в моєму старшому проекті, потім видалено попередження.

Примітки:

Я не вичерпно порівняв налаштування, тому можуть бути додаткові відмінності.

Крім того, про всяк випадок, якщо одного разу ви повторно зіткнетесь із одним із двох наступних попереджувальних повідомлень , пам’ятайте, що вам доведеться це зробити: якщо попередження призначене для параметра, '-L/...'який є Шляхи пошуку бібліотеки, видаліть його. Однак якщо попередження є опцією, '-F/...'яка є рамками Шляхів пошуку, видаліть там матеріали.


2
Сказане вище правильно. Однак якщо ви використовуєте CocoaPods, я виявив, що запис також може знаходитися у файлах * .xcconfig, які він створює. Рішення ідентичне: видаліть його, у цьому випадку з рядка FRAMEWORK_SEARCH_PATHS у ваших файлах * .xcconfig.
екотакс

2
У мене точно така ж проблема (-F / ...), і я вже видалив матеріал із Framework Search Paths, але попередження все ще з’являється.
Gabe12

4
Очистіть і заново створіть проект Xcode, і попереджувальне повідомлення повинно зникнути.
King-Wizard

1
Я не використовував тестову ціль, і в кінцевому підсумку довелося видалити її, щоб змусити її будувати.
theLastNightTrain

King-Wizard має правильну відповідь, але більш конкретно вам потрібно зайти в "Налаштування збірки" проекту "Шляхи пошуку"> "Шляхи пошуку рамки"
pyRabbit

19

Виходячи з повідомлення про помилку, схоже, що першим порядком бізнесу є випрямлення шляху цілі. Ви можете редагувати шляхи, як показано у відповідях на це питання StackOverflow . Не забудьте перевірити шлях для всіх ваших цілей, якщо ви не впевнені, що генерує помилку --- це підштовхнуло мене трохи після оновлення проекту до бета-версії Xcode 7; у темі FRAMEWORK_SEARCH_PATHS був шлях для тестової цілі, який потрібно було видалити. Шлях, який був там, був саме той шлях, про який ви повідомляєте, отримуючи попередження; видалення шляху усунуло його.


16

King-Wizard , по суті, правильний, щоб детальніше розробити -

Xcode 7 шукає тестувальну основу XCtest.frameworkна шляху, який не існує. Шлях, визначений у $(SDKROOT)/Developer/Library/Frameworksрозділі "Шляхи пошуку -> Шляхи пошуку рамки", шукає рамку, в /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworksякій не є дійсним шляхом. Ви можете видалити рядок, $(SDKROOT)/Developer/Library/Frameworksщоб видалити помилку і все ще мати можливість виконувати тести.

Правильний шлях до "XCTest.framework" - це /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworksдля тих, хто цікавий.

Я сподіваюся, що це допомагає.


1

У мене була така ж помилка з Xcode 9.2, і ось мої рішення, не роблячи вручну:

  1. Клацніть на своєму проекті в Навігаторі проектів
  2. Перейдіть до цілей і натисніть MyProjectNameTest
  3. Клацніть на "Налаштування збірки" та знайдіть " Рамкові шляхи пошуку "
  4. У рамках Рамкових шляхів пошуку видаліть контури та збережіть "$ (успадковано)".

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

Для тих із вас, хто має таку помилку:

каталог не знайдено для опції '-L /…

це означає, що це помилка в бібліотеці, тому ви можете спробувати виконати наведені нижче дії.

  1. Натисніть на ваш проект (цілі)
  2. Клацніть на "Налаштування збірки", знайдіть "Шляхи пошуку бібліотеки"
  3. У розділі Шляхи пошуку бібліотеки видаліть контури та збережіть "$ (успадковано)"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.