Xcode - $ (SRCROOT) คืออะไร?


115

ฉันกำลังดูโครงการ Xcode ที่ใช้ไลบรารีบางส่วน โปรเจ็กต์นี้สร้างขึ้นบนคอมพิวเตอร์เครื่องอื่นดังนั้นฉันต้องอัปเดตเส้นทางบางอย่าง $(SRCROOT)เส้นทางการค้นหาห้องสมุดทั้งหมดเริ่มต้นด้วย นั่นหมายความว่าอย่างไร?


คำตอบ:


147

เป็นพา ธ ไปยังไดเร็กทอรีที่มีโปรเจ็กต์ Xcode


สิ่งที่แปลกคือเมื่อฉันดูเส้นทางในการตั้งค่าบิลด์พวกเขาทั้งหมดเริ่มต้นด้วย / Users / stevew เมื่อฉันดับเบิลคลิกเพื่อรับมุมมองรายละเอียดสำหรับการตั้งค่านั้นทั้งหมดจะเริ่มต้นด้วย $ (SRCRoot) แต่ไม่มีไดเร็กทอรี / Users / stevew บนคอมพิวเตอร์ของฉัน มันถูกล็อคเข้ากับตำแหน่งบนคอมพิวเตอร์เครื่องอื่นหรือไม่?
William Jockusch

อาจมีคนกำหนด SRCROOT โดยใช้พา ธ สัมบูรณ์ - โดยปกติแล้วจะเป็นไดเร็กทอรีรูทที่สะดวกสำหรับซอร์สทั้งหมดในโปรเจ็กต์ของคุณ แต่ไม่ควรเป็นพา ธ สัมบูรณ์เว้นแต่คุณจะมีเครื่องพัฒนาเพียงเครื่องเดียว
Paul R

การเพิ่มคำตอบของคุณมันเป็นไดเร็กทอรีของ XcodeProject ในเครื่องดังนั้นหากคุณมี MailCore ภายใต้โปรเจ็กต์ของคุณ SRCROOT ของ MailCore คือไดเร็กทอรีที่คุณเปิดโครงการ MailCore XCode มีปัญหาการใช้งานซึ่งคุณไม่สามารถเลื่อนไปทางขวาบนหน้าจอการตั้งค่าโปรเจ็กต์ได้ดังนั้นหากคุณมีเส้นทางที่ยาวคุณจะไม่สามารถบอกสิ่งนี้ได้ดังนั้นฉันจึงเพิ่มคำตอบนี้สำหรับผู้ที่มีชื่อ lib ยาว ขอบคุณ mipadi สำหรับคำตอบหลัก
Stephen J

30
แล้วPROJECT_DIRไง? ความแตกต่างจากSRCROOTอะไร?
กอน

อย่าถามคำถามในความคิดเห็น ดูคำถาม 36323031ใน Stack Overflow
SwiftArchitect

20

นั่นเป็นพื้นฐานไดเรกทอรีรากของโครงการที่กำหนดโดย Xcode

http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html#//apple_ref/doc/uid/TP40003931-CH3-SW38


2
ขณะนี้เอกสารวิธีใช้ Xcode เป็นเวอร์ชัน การเชื่อมโยงการปรับปรุงสำหรับการอ้างอิง Xcode 8.3 สร้างการตั้งค่า
SwiftArchitect

3

$(SRCROOT)(aka $(SOURCE_ROOT)) เป็นเส้นทางไปยังตำแหน่งของคุณโดยที่ a .xcodeprojอยู่

ตรวจสอบได้ง่ายเพียงแค่ใส่ลงในช่องและ Xcode ก็ให้คำแนะนำแก่คุณ

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.