ใน Xcode จะระงับคำเตือนทั้งหมดในไฟล์ต้นฉบับเฉพาะได้อย่างไร


138

ในแอปพลิเคชันของฉันฉันใช้รหัสของบุคคลที่สามที่ทำให้เกิดคำเตือนบางอย่าง ฉันตรวจสอบแล้วและสามารถเพิกเฉยได้อย่างปลอดภัย

ตอนนี้ฉันต้องการ "ทำเครื่องหมาย" ไฟล์ดังนั้น Xcode จะไม่แสดงคำเตือนใด ๆ สำหรับโค้ดในไฟล์นั้น

ฉันควรทำอย่างไร?

คำตอบ:


277

เลือกเป้าหมายของคุณและแสดงขั้นตอนการสร้าง จากนั้นป้อนชื่อของไฟล์ในช่องค้นหาและคุณจะเห็นไฟล์นั้นแสดงอยู่ในเฟส Compile Sources ดับเบิลคลิกในคอลัมน์ Compiler Flags สำหรับไฟล์นั้นและเข้าสู่-wเพื่อปิดคำเตือนทั้งหมดสำหรับไฟล์นั้น


9
อืมฉันคาดว่า-wจะปิดคำเตือนทั้งหมด แต่บางทีคอมไพเลอร์ใหม่ไม่ได้ใส่ใจกับสิ่งนั้น ในกรณีนั้นให้ปิดคำเตือนแต่ละคำ ค้นหาคำเตือนที่เป็นปัญหาใน Build Settings และแสดง Quick Help ในมุมมอง Utilities คุณควรเห็นคำอธิบายพร้อม-Wname-of-warningไวยากรณ์ เติม "no-" ไว้ข้างหน้าชื่อและระบุว่าใน Compiler Flags ตัวอย่าง: เพื่อปิดการ-Wunused-parameterระบุ-Wno-unused-parameter
Jon Reid

14
ปรากฎว่าทั้งหมดนี้ขึ้นอยู่กับคอมไพเลอร์ ฉันหมายถึงในโครงการหนึ่งที่ใช้คอมไพเลอร์ LLVM GCC -wทำเคล็ดลับและในโครงการอื่นที่ใช้คอมไพเลอร์ GCC ธรรมดา-Wno-name-of-warningเป็นวิธีเดียวที่จะไป
Bobrovsky

6
ขอบคุณสำหรับคำใบ้ยังทำงานให้ฉัน ( -wและ LLVM) มีประโยชน์มากเมื่อคุณรวมไฟล์ของบุคคลที่สามที่คุณไม่ต้องการแก้ไข
user826955

1
@Zammbi เนื่องจากรหัสถูกสร้างขึ้นโดยอัตโนมัติให้แก้ไขเพื่อสร้างรหัสโดยไม่มีคำเตือน หากคุณทำไม่ได้ให้แพตช์โปรเจ็กต์ Xcode โดยอัตโนมัติเพื่อตั้งค่าแฟล็กคอมไพเลอร์
Jon Reid

11
ไม่ทำงานกับ Swift 2 ที่ใช้ Xcode 7.0 และ Apple LLVM 7.0
King-Wizard

6

เลือกโปรเจ็กต์ในเนวิเกเตอร์ด้านซ้ายและเลือกเป้าหมายไปที่สร้างเฟสและวาง -w ในบิวด์เฟสของไฟล์เป้าหมาย มันจะซ่อนคำเตือนของคอมไพเลอร์ทั้งหมด ป้อนคำอธิบายภาพที่นี่


17
ไม่ทำงานกับ Swift 2 ที่ใช้ Xcode 7.0 และ Apple LLVM 7.0
King-Wizard

2
การส่งแฟล็กคอมไพเลอร์ clang ไปยังคอมไพเลอร์ต่างประเทศไม่ทำงาน แปลกใจ ... google ตั้งค่าสถานะคำเตือนสำหรับคอมไพเลอร์ที่รวดเร็วและเพิ่มสิ่งนั้นแทน
jheriko

4

ใช้ได้กับ Xcode 10.2+ และ Swift 5

แก้ไขด้วยตนเอง:

เพิ่ม-w -Xanalyzer -analyzer-disable-all-checksไปยังไฟล์ที่มีปัญหาจาก Xcode> Project> Targets> Compile Sources> ดับเบิลคลิกที่ไฟล์ที่คุณต้องการปิดคำเตือน

แก้ไข Cocoapods:

หากคุณกำลังพยายามระงับคำเตือนจากพ็อดที่มีปัญหาคุณสามารถระงับคำเตือนทั้งหมดจากการพึ่งพาด้วยinhibit_warningsแฟล็กในพ็อดไฟล์ของคุณโดยอัตโนมัติ:

pod 'Kingfisher', '~> 4.6', :inhibit_warnings => true

ป้อนคำอธิบายภาพที่นี่

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