คำเตือนนี้เกิดขึ้นใน Xcode 6.1 ใครมีความคิดเห็นคำเตือนนี้หมายความว่าอะไรและจะเกิดอะไรขึ้นกับมัน ขอบคุณมาก!
ด้านล่างเป็นภาพหน้าจอที่มีคำเตือนเปิดอยู่ในซอร์สโค้ด "
วิธีการค้นหาข้อ จำกัด ที่ทำให้เกิดการเตือน? Xcode ไม่ได้บอกคุณว่าข้อ จำกัด คือปัญหา
คำเตือนนี้เกิดขึ้นใน Xcode 6.1 ใครมีความคิดเห็นคำเตือนนี้หมายความว่าอะไรและจะเกิดอะไรขึ้นกับมัน ขอบคุณมาก!
ด้านล่างเป็นภาพหน้าจอที่มีคำเตือนเปิดอยู่ในซอร์สโค้ด "
วิธีการค้นหาข้อ จำกัด ที่ทำให้เกิดการเตือน? Xcode ไม่ได้บอกคุณว่าข้อ จำกัด คือปัญหา
คำตอบ:
คำเตือนนี้อาจสร้างความรำคาญและเกิดขึ้น ณ Xcode 6.1.1 ปัญหาหลักคือคุณไม่สามารถหาข้อ จำกัด ที่อ้างอิงได้ง่าย ๆ โดยคลิกที่คำเตือน ฉันเดาว่านี่เป็นข้อบกพร่องและจะได้รับการแก้ไขไม่ช้าก็เร็ว
อย่างไรก็ตามในระหว่างนี้คุณสามารถใช้วิธีแก้ไขปัญหาเล็กน้อยนี้:
Reveal in Log
😨... snip ...
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:Dlb-cb-nWC: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:6Ze-mO-v5N: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:9av-xw-u1o: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:RPt-Uf-vaZ: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:Rnc-4M-7jV: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:epJ-D9-KEF: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:4HC-Gu-01w: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
... snip ...
โปรดทราบว่าสำหรับ Xcode เมื่อวันที่ 5/2559 คุณต้องเลิกและเริ่ม Xcode ใหม่เพื่อล้างคำเตือนนี้ในบางกรณี
โปรดทราบว่าข้อผิดพลาดเดียวกันอาจเกิดจากปัญหาที่ไม่เกี่ยวข้อง (ซึ่งเป็นข้อบกพร่องของ Apple หรือการใช้ภาษาข้อผิดพลาดไม่ดี): หากคุณมีIBInspectable
รายการและเปลี่ยนชื่อในไฟล์ Swift ของคุณ Xcode ไม่ลบ UserDefinedRuntimeAttributes ชื่อเก่าสำหรับคุณ เพียงคลิกเพื่อ "Identity Inspector" (รายการ 3 บนแผงด้านขวา) และลบรายการ dud
ข้อความนี้จะถูกเรียกใช้เมื่อคุณปิดการใช้งานมุมมองในกระดานเรื่องราวของคุณ แต่ไม่ได้ปิดการใช้งานข้อ จำกัด ตามมุมมองที่
ตัวอย่างเช่นคุณปิดใช้งานปุ่ม แต่คุณยังคงมีข้อ จำกัด บางอย่างเชื่อมโยงกับปุ่มนั้น อาจเป็นข้อ จำกัด ที่แท้จริงเช่นความสูงหรือความกว้างหรือข้อ จำกัด สัมพัทธ์เช่นระยะห่างจากมุมมองอื่น
คุณต้องปิดข้อ จำกัด แต่ละข้อที่อ้างอิงมุมมองและคุณต้องทำด้วยตนเอง Xcode กำลังให้บริการมากเกินไปที่นี่และจะไม่ทำเพื่อคุณ
วิธีนี้ใช้ได้ผลสำหรับฉัน
เนื่องจากฉันคัดลอกหลายรายการจากโครงการที่ฉันพัฒนาใน Xcode 5 ลงใน Xcode 6 และกระดานเรื่องราวใน Xcode 6 รองรับหลายรูปแบบสำหรับทุกข้อ จำกัด ฉันจำเป็นต้องติดตั้งในการกำหนดค่าปัจจุบัน
ตัวอย่างเช่นฉันใช้ "ความกว้างแบบกระชับ | ความสูงปกติ" สำหรับข้อ จำกัด ที่ฉันต้องการตั้งค่าด้านล่าง:
หลังจากที่ฉันตรวจสอบและกำหนดข้อ จำกัด หลายร้อยข้อในโครงการของฉันทำความสะอาดและสร้างคำเตือนก็หายไปในที่สุด
Installed
ช่องทำเครื่องหมายที่น่ารำคาญในแอตทริบิวต์วัตถุมุมมองของคุณ ดังนั้นตรวจสอบให้แน่ใจว่าวัตถุมุมมองที่คุณคิดว่ามีการแสดงนั้นมีช่องทำเครื่องหมายที่ถูกต้อง current configuration
คำเตือนจะบอกคุณว่าวัตถุบางอย่างจะไม่ถูกแสดงใน
แค่ต้องการเพิ่มกรณีของฉันว่าข้อผิดพลาดนี้เกิดขึ้นกับฉัน: ในกรณีของฉันฉันต้องการลบ Textfield ด้วย "Cmd + Backspace" ฉันทำสิ่งนี้โดยตรงใน Scene-Builder Tree-View:
คุณจะเห็นว่า Snooze Field นั้นเป็นสีเทา
เพื่อให้ค้นพบได้ง่ายสำหรับฉัน คุณสามารถลบฟิลด์ได้อย่างง่ายดายโดยเลือก:
แก้ไข - ลบจากเมนู
น่าแปลกใจ - นี่เป็นการลบฟิลด์ (รวมถึงข้อ จำกัด ) จริงๆ บางทีนี่อาจช่วยให้ใครบางคนค้นพบสาเหตุของคำเตือนที่น่ารำคาญนี้ได้อย่างง่ายดาย ...
ขยายคำอธิบาย
ไม่มีอะไรผิดปกติกับคำตอบอื่น ๆ ฉันแค่ต้องการดึงความสนใจไปที่ถ้อยคำในคำเตือนดั้งเดิมและเพื่อระบุกรณีการใช้งานสองกรณีที่สิ่งนี้สามารถปรากฏในเวิร์กโฟลว์ของคน ๆ หนึ่ง
รายการอ้างอิงข้อ จำกัด ถูกปิดใช้งานในการกำหนดค่าปัจจุบัน
หมายความว่าบางรายการ (โดยปกติจะเป็นมุมมองควบคุมหรือกำหนดเองที่มองเห็นได้ตามปกติ) ที่อ้างอิงในข้อ จำกัด อย่างน้อยหนึ่งรายการถูกปิด (ปิดใช้งานหรือมีช่องทำเครื่องหมาย "ติดตั้ง" ไม่ได้ทำเครื่องหมายไว้) ตัวอย่างเช่นถ้าคุณตัดสินใจว่าคุณต้องการย้ายการควบคุมหรือมุมมองในกระดานเรื่องราวของคุณนอกมุมมองหลัก (หรือคุณอาจเห็นบางครั้งเมื่อทำสิ่งที่น่าสนใจในชั้นเรียนขนาด) คุณอาจเห็นคำเตือนนี้หากตัวควบคุมมีข้อ จำกัด .
พร้อมกับโซลูชันที่แนะนำ:
ปิดข้อ จำกัด นี้ในการกำหนดค่าปัจจุบัน
สองแนวทางในการแก้ไข
เค้าร่างเอกสาร
มองเห็นคุณสามารถเปิดเค้าร่างเอกสารในสตอรี่บอร์ดของคุณและมองหาข้อ จำกัด สีเทาที่อ้างอิงการควบคุม / มุมมองของคุณนั่งอยู่ด้านนอกของมุมมองหลัก (ขยายโครงร่างคลิกขยายข้อ จำกัด และดูตัวตรวจสอบแอตทริบิวต์เลื่อนลงเพื่อตรวจสอบอย่างรวดเร็ว) . จากนั้นลบข้อ จำกัด ออกจากบริบทนี้ (คลาสขนาด) ตัวอย่างเช่นในกรณีของฉันฉันเพิ่งจะถือการควบคุมจนกว่าฉันจะตัดสินใจในภายหลังว่าจะนำเสนอที่ใดดังนั้นฉันจึงเลือกที่จะลบข้อ จำกัด ที่ละเมิดจนครบถ้วนในภายหลัง แต่ในชั้นเรียนขนาดฉันจะถอนการติดตั้งข้อ จำกัด จากบริบทปัจจุบันโดยใช้ช่องทำเครื่องหมายที่ติดตั้งในตัวตรวจสอบคุณลักษณะ
Log Navigator / เครื่องมือค้นหา
นอกจากนี้ยังสามารถใช้ Log Navigator เพื่อค้นหาการควบคุมปัญหาผ่านตัวระบุเฉพาะที่กำหนดให้กับแต่ละวัตถุบนกระดานเรื่องราว ในบันทึกมันจะเป็นเพียงก่อนที่จะเน้นข้อความสีเหลืองและมักจะใช้แบบฟอร์มตามที่เห็นในตัวอย่างของฉันข้างต้น: jvj-mY-DHf
การใช้ตัวระบุสามารถใช้เครื่องมือค้นหาใน Xcode เพื่อค้นหาและลบ (สมบูรณ์) หรือถอนการติดตั้ง (สำหรับบริบทปัจจุบัน) ข้อ จำกัด ที่ละเมิด
หากคุณชื่นชอบ Xml และความเรียบง่ายคุณสามารถเปิด Storyboard เป็นซอร์สโค้ดและค้นหาตัวระบุที่ไม่เหมาะสมและลบบล็อค xml ที่เหมาะสมได้
หนึ่งในเหตุผลที่อาจเกิดขึ้นคือเนื่องจากคุณเลือกคลาสขนาดที่ไม่เข้ากันกับข้อ จำกัด ของคุณ ( wAny hAny
เป็นกรณีทั่วไป) ในกรณีเช่นนี้เพียงเลือกคลาสขนาดอื่นในตัวสร้างส่วนต่อประสานแล้วคุณก็เสร็จสิ้น
สำหรับฉันมันเกิดขึ้นถ้าฉันตั้งค่าวัตถุเป็น contraint ใหม่เป็น object (ไม่ใช่มุมมอง) ด้วยตัวเลือก "ข้อ จำกัด ถึงระยะขอบ" ไม่ได้ถูกเลือก แก้ไขปัญหาด้วยการทำเครื่องหมายที่ตัวเลือก (ซึ่งเป็นค่าเริ่มต้น)
สิ่งที่ใช้ได้ผลสำหรับฉัน (และฉันไม่รู้ว่าทำไม) คือการปิด "ใช้ชุดรูปแบบของคุณลักษณะ" จากนั้นดำเนินการทำความสะอาดแล้วเปิดใช้อีกครั้ง บิลด์ถัดไปไม่มีคำเตือน
หากต้องการปิด "ใช้ชุดรูปแบบการเปลี่ยนแปลง" เพียงเลือกกระดานเรื่องราวของคุณใน Project Navigator จากนั้นเลือกตัวตรวจสอบไฟล์
จากนั้นเพียงยกเลิกการเลือก "ใช้ชุดรูปแบบของคุณลักษณะ" ดำเนินการใหม่ทั้งหมดโดยกด Shift-CMD K แล้วเปิดใช้รูปแบบลักษณะต่าง ๆ หากคุณต้องการใช้
ฉันคิดว่ามันเป็นข้อ จำกัด ที่คงอยู่เนื่องจากคำตอบอื่น ๆ อย่างไรก็ตามมันเป็นเพราะ 'ทางออก' ฉันยังมีรายการที่ฉันลบไปก่อนหน้านี้ สิ่งที่ต้องทำคือ:
สถานการณ์กรณีที่เลวร้ายที่สุดที่คุณลบร้านค้าทั้งหมดของคุณและเพียงแค่ขอพวกเขาอีกครั้ง แก้ไขกรณี!
ดังที่ได้กล่าวไว้และได้รับคำแนะนำอย่างดีในคำตอบของ @ BadCatฉันทำตามขั้นตอนและอีกหนึ่งขั้นตอนที่ฉันกล้าทำ!
ขั้นตอนในการดำเนินการหลังจากคำตอบ BadCats ขั้นสุดท้าย
ขั้นตอนที่ 1:
ฉันเลือกข้อ จำกัด ในเครื่องมือสร้างอินเทอร์เฟซจากนั้นคำนึงถึงสิ่งที่มันมีไว้เพื่อและลบออก
ขั้นตอนที่ 2
สร้างโครงการ XCode และมันจะแสดงให้คุณเห็นว่าจำนวนคำเตือนเพิ่มขึ้น นั่นเป็นเพราะคุณได้ลบข้อ จำกัด ที่จำเป็นต้องรวบรวมมาให้ด้วย ดังนั้นไปที่ขั้นตอนที่ 3!
ขั้นตอนที่ 3
เพิ่มข้อ จำกัด ที่คุณระลึกไว้อีกครั้ง (ข้อ จำกัด ที่คุณลบ) จากนั้นสร้างใหม่อีกครั้ง!
สำหรับฉันคำเตือนก็หายไปเพียงแค่ทำสิ่งนี้! ฉันเดาว่ามันจะได้ผลสำหรับบางคน!
สาเหตุ:
เนื่องจากฉันสามารถเข้าใจปัญหาที่ทำให้เกิดคำเตือนนี้ได้ฉันมีป้ายกำกับที่เชื่อมต่อกับ IBOutlet แต่ชื่อของมันเริ่มต้นด้วยอักษรตัวใหญ่ ดังนั้นฉันจึงเปลี่ยนชื่อด้วยตัวอักษรธรรมดาใน ViewController และมาเปลี่ยนมันใน IB ฉันลบ IBOutlet ที่ผ่านมาและไปเชื่อมต่อกับชื่อคุณสมบัติที่เพิ่งเปลี่ยนใหม่และเชื่อมต่อแล้ว จากนั้นฉันสังเกตเห็นว่ามีคำเตือนใหม่เกิดขึ้น
ก่อนอื่นฉันลองคำตอบต่อไปนี้ในกระทู้นี้ด้วย แต่มันก็ช่วยไม่ได้!
ไชโย!
กรณีของฉันคือเลือกป้ายกำกับแล้วคลิกควบคุม + X มันจะถูกปิดใช้งาน แต่ฉันไม่ได้ทำอะไรเลย เมื่อฉันสร้างมันจะแสดงคำเตือน วิธีแก้ไข: ลบป้ายกำกับหรือลบตัวควบคุม + X ที่เลือกสำหรับป้ายกำกับ
ฉันลบองค์ประกอบ UI เหล่านั้นทั้งหมดรวมถึงข้อ จำกัด และเพิ่มทั้งหมดอีกครั้งคำเตือนเหล่านั้นเพิ่งหายไป อย่างไรก็ตามนี่เป็นวิธีที่เลวร้ายที่สุด แต่มีประโยชน์ในการแก้ปัญหานี้
ฉันมีปัญหากับมุมมองแบบสแต็ก การลบข้อ จำกัด และการเพิ่มข้อ จำกัด ไม่ได้ช่วยอะไร การทำความสะอาดและการสร้างใหม่ไม่ได้ช่วยอะไร
สำหรับฉันทางออกคือการสร้างวัตถุมุมมองสแต็กใหม่ที่สมบูรณ์
จากนั้นย้ายองค์ประกอบทั้งหมดจากมุมมองสแต็กเก่าไปยังมุมมองสแต็กใหม่
การลบมุมมองสแต็กเก่าแก้ไขปัญหา