คำเตือนเส้นทางการค้นหา Xcode 7 Library


117

นี่คือคำเตือนที่กำลังแสดง:

ไม่พบไดเรกทอรีสำหรับตัวเลือก '-F / Applications / Xcode-beta.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS9.0.sdk / Developer / Library / Frameworks' "

ใครช่วยแก้คำเตือนได้ไหม


1
คำตอบนี้แก้ไขข้อผิดพลาดนี้ให้ฉัน: stackoverflow.com/questions/26665196/…
fpr0001

@arwaz shaikh อย่าลืมทำเครื่องหมายคำตอบของฉันว่าเป็นคำตอบที่ถูกต้อง (ถ้าคุณคิดว่าคำตอบนั้นถูกต้องสำหรับคำถามของคุณ) มันจะช่วยให้ผู้คนค้นพบได้เร็วขึ้นผ่าน Google หรือ Stack Overflow
King-Wizard

คำตอบ:


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'

อันที่จริงฉันพบบางอย่างเมื่อเปรียบเทียบโครงการใหม่กับโครงการที่เก่ากว่า ...

ในโครงการเก่าคำเตือนเกิดจากเป้าหมายการทดสอบของโครงการของฉันเท่านั้น ภายใต้'เส้นทางการค้นหา'ฉันพบว่ามีสองรายการภายใต้'Framework Search Paths' :

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

โครงการใหม่ทำให้'Framework Search Paths'ว่างเปล่า

การลบรายการเหล่านั้นในโครงการเก่าของฉันจะลบคำเตือนออก

หมายเหตุ:

ฉันไม่ได้เปรียบเทียบการตั้งค่าอย่างละเอียดถี่ถ้วนดังนั้นอาจมีความแตกต่างเพิ่มเติม

นอกจากนี้ในกรณีที่หากวันหนึ่งคุณพบข้อความเตือนหนึ่งในสองข้อความต่อไปนี้ซ้ำโปรดจำไว้ว่าคุณจะต้องทำเช่นนั้น: หากคำเตือนมีไว้สำหรับตัวเลือก'-L/...'ที่เป็น Library Search Paths ให้ลบสิ่งนั้นออก อย่างไรก็ตามหากคำเตือนมีไว้สำหรับตัวเลือก'-F/...'ที่เป็น Framework Search Paths ให้ลบสิ่งที่นั่น


2
ข้างต้นถูกต้อง อย่างไรก็ตามหากคุณใช้ CocoaPods ฉันพบว่ายังเป็นไปได้ที่รายการจะอยู่ในไฟล์ * .xcconfig ที่สร้างขึ้น วิธีแก้ไขเหมือนกัน: ลบออกในกรณีนี้จากบรรทัด FRAMEWORK_SEARCH_PATHS ในไฟล์ * .xcconfig ของคุณ
ecotax

2
ฉันมีปัญหาเดียวกันแน่นอน (-F / ... ) และฉันได้ลบสิ่งต่างๆใน Framework Search Paths ไปแล้ว แต่คำเตือนยังคงปรากฏขึ้น
Gabe12

4
ทำความสะอาดและสร้างโครงการ Xcode ใหม่และข้อความเตือนควรหายไป
King-Wizard

1
ฉันไม่ได้ใช้เป้าหมายการทดสอบและต้องลบออกเพื่อให้สร้างได้
theLastNightTrain

King-Wizard มีคำตอบที่ถูกต้อง แต่คุณต้องเข้าไปที่ 'Build Settings'> 'Search Paths'> 'Framework Search Paths'
pyRabbit

19

จากข้อความแสดงข้อผิดพลาดดูเหมือนว่าลำดับแรกของธุรกิจคือการทำให้เส้นทางของเป้าหมายตรงไปตรงมา คุณสามารถแก้ไขเส้นทางดังที่แสดงในคำตอบของคำถาม StackOverflowนี้ อย่าลืมตรวจสอบเส้นทางสำหรับเป้าหมายทั้งหมดของคุณหากคุณไม่แน่ใจว่าข้อผิดพลาดใดที่ทำให้เกิดข้อผิดพลาดนี้ทำให้ฉันต้องรอสักครู่หลังจากอัปเกรดโครงการเป็น Xcode 7 beta มีเส้นทางใน FRAMEWORK_SEARCH_PATHS สำหรับเป้าหมายการทดสอบที่จำเป็นต้องลบ เส้นทางที่อยู่ในนั้นเป็นเส้นทางที่คุณรายงานว่าได้รับคำเตือน การลบเส้นทางเป็นการกำจัดมัน


16

คิงตัวช่วยสร้างนั้นถูกต้องเป็นหลักเพื่ออธิบายเพิ่มเติมอีกเล็กน้อย -

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. คลิกที่โครงการของคุณใน Project Navigator
  2. ไปที่เป้าหมายและคลิกที่MyProjectNameTest
  3. คลิกที่ Build Settings และค้นหา“ Framework Search Paths
  4. ภายใต้Framework Search Pathsลบพาธ และเก็บ“ $ (สืบทอด)”

ใส่คำอธิบายภาพที่นี่

สำหรับพวกคุณที่มีข้อผิดพลาดดังต่อไปนี้:

ไม่พบไดเร็กทอรีสำหรับตัวเลือก '-L / ...

นั่นหมายความว่าเป็นข้อผิดพลาดของไลบรารีดังนั้นคุณสามารถลองทำตามขั้นตอนด้านล่าง:

  1. คลิกที่โครงการของคุณ (เป้าหมาย)
  2. คลิกที่ Build Settings ค้นหา“ Library Search Paths”
  3. ภายใต้ Library Search Paths ให้ลบเส้นทางและเก็บ“ $ (สืบทอด)”
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.