Xcode 8 - คำเตือนไฟล์หายไป


127

นับตั้งแต่อัปเกรดเป็น Xcode 8 โดยใช้ Swift 2.3 ฉันมีคำเตือนไฟล์ที่หายไปหลายครั้ง พวกเขาทั้งหมดเกี่ยวข้องกับพ็อดที่ฉันใช้

ไฟล์ที่ขาดหายไปคือ

*.xcscheme 
*.cpp
*.xcuserstate
*.swift

พ็อดที่แสดงไฟล์ที่หายไปคือ

  • อาณาจักร (~ 38 จาก 43)
  • TextFieldEffects (~ 3 จาก 43)
  • BEMCheckBox (2 จาก 43)

ฉันจะแก้ไขปัญหานี้ได้อย่างไร


คุณเคยลองpod installไหม
Marc-Alexandre Bérubé

@ Marc-AlexandreBérubéใช่ฉันลองติดตั้งพ็อดแล้วสองสามครั้ง ลบโฟลเดอร์พ็อดแล้วทำการติดตั้งอื่น
อลัน

คำตอบ:


298

นี่เป็นเพียงข้อบกพร่อง Xcode หากคุณลบหรือเปลี่ยนชื่อไฟล์โดยไม่ทำการกระทำ Xcode จะเห็นความแตกต่างระหว่างการgitกระทำก่อนหน้านี้และสถานะปัจจุบันของสิ่งต่าง ๆ และรายงานคำเตือนเหล่านี้ พวกเขาจะหายไปทันทีที่คุณทำgit addที่มีการลบ / เปลี่ยนชื่อไฟล์


25
การเพิ่มไฟล์ไปยังดัชนี ( git add) ก็เพียงพอแล้วไม่จำเป็นต้องยอมรับจริง ๆ (มีแนวโน้มที่โครงการจะไม่พร้อมที่จะส่ง ... )
djromero

@djromero ขอบคุณที่ติดตามมัน! คุณต้องการให้ฉันเพิ่มคำตอบของฉัน?
ด้าน

@matt แน่ใจอย่าลังเลที่จะทำมัน
djromero

ความมุ่งมั่นใหม่แก้ไขปัญหาสำหรับฉัน
MatterGoal

34
สำหรับฉันมันเป็นเรื่องง่ายเหมือนปิดการใช้งานอย่างรวดเร็วและเปิดใช้งานการควบคุมแหล่งที่มาอีกครั้งภายใต้การตั้งค่า Xcode> Pref> การควบคุมแหล่งที่มา> ยกเลิกการเลือก "เปิดใช้งานการควบคุมแหล่งที่มา" .... แล้วเปิดใช้งานอีกครั้งหลังจากนั้น และกะเทย! ที่ไปแล้ว!
BennyTheNerd

84

หากคุณไม่ใช้การควบคุมแหล่ง xcode แต่ไคลเอนต์ git อื่น ๆ (เช่นแผนผังต้นไม้หรือเทอร์มินัล) คุณสามารถปิดการใช้งานการควบคุมแหล่งข้อมูลใน Xcode และกว่าคำเตือนจะหายไป

Xcode> การตั้งค่า> การควบคุมแหล่งที่มาและยกเลิกการเลือก " เปิดใช้งานการควบคุมแหล่งที่มา "


นี่เป็นการลบการเปรียบเทียบแบบด้านต่อด้านสำหรับการคอมมิทเก่าจาก XCode หรือไม่? ฉันสมมติว่า ...
Byron Coetsee

15

ฉันลองทั้งหมด (และอื่น ๆ อีกมากมาย) แต่ก็ไม่มีเลย หลังจากชั่วโมงของการลองใช้การแก้ไขต่าง ๆ ฉันพบว่ากระบวนการต่อไปนี้ใช้งานได้

cd "project directory"
git add .

คุณจะต้องปิด XCode และเปิดใหม่หรือการมอบหมายในอนาคตอาจล้มเหลว

หวังว่านี่จะช่วยใครซักคน


น่ากลัว โครงการของฉันยุ่งเล็กน้อยโดยอัพเดทพ็อดและคำเตือนมันมากเกินไป ... มันทำให้มันคง ขอบคุณ!
Colibri

8

ฉันแก้ปัญหาง่ายๆโดยสิ่งนี้:

  1. เพิ่มผู้ร้ายในโครงการ ป้อนคำอธิบายรูปภาพที่นี่

  2. ลบการอ้างอิง ป้อนคำอธิบายรูปภาพที่นี่

สิ่งนี้จะล้างสถานะภายในของ XCode และข้อความจะหายไป


มันใช้งานได้จริง วิธีการแก้ปัญหา @ matt ของทำงานครั้งเดียวในบางสถานการณ์ แต่ฉันมีไฟล์ที่น่ารังเกียจที่ทำให้คืบคลานกลับไปที่ XCode และนี่เป็นวิธีเดียวที่จะกำจัดมันได้
qwerty_so

7

วิธีการเกี่ยวกับในcommitSource Control

ก่อนอื่นคุณอาจต้องแสดงเนื้อหาของ"your project name".xcodeprojแพ็คเก็ตและแสดงเนื้อหาของแพ็คเก็ตproject.xcworkspaceแล้วลบxcuserdataโฟลเดอร์

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

xcrun git config user.name "Your Name"
xcrun git config user.email YourEmailAddress

* อย่าลืมเปิดโครงการอีกครั้งเพื่อดูผลกระทบ


7

คุณสามารถแก้ไขปัญหาได้โดยเลือกตัวเลือก "เพิ่มและลบไฟล์โดยอัตโนมัติ" ในX-Code-> Preferences-> Source Control

นี่คือภาพหน้าจอของการ ตั้งค่า


7

Xcode 8 ดูเหมือนว่ามักจะพลาดgit addไฟล์ที่ถูกลบ / เกี่ยวข้อง หากต้องการแก้ไขให้แตะCommit...จากSource Controlเมนูของ Xcode ตรวจสอบให้แน่ใจว่าได้ตรวจสอบไฟล์เหล่านี้ (ซึ่งตามด้วยเครื่องหมายอัศเจรีย์!) จากนั้นยืนยันการเปลี่ยนแปลง นี่ควรล้างคำเตือน


5

ฉันมีปัญหานี้สองสามครั้งในตอนนี้และในที่สุดฉันก็มีปัญหาหลังจากทำวิธีแก้ปัญหาที่น่าเกลียด! ฉันนั่งลงและติดตามมันจนกว่าฉันจะพบเหตุผลที่มันและมีการอ้างอิงจะถูกเก็บไว้!

ตามที่มีคนเสนอไปแล้วมันเกี่ยวกับการควบคุมเวอร์ชันใช่และไม่ใช่ในบางกรณีมันต้องเกี่ยวข้องกับการเจาะไฟล์โดยตรงโดยใช้ตัวค้นหาหรืออะไรก็ตาม (แต่ไม่ใช่จาก XCode)

นี่คือการแก้ไขด่วนที่ช่วยประหยัดปัญหาและสาบานได้มากมาย!

ลบไฟล์นี้: ./.xcworkspace/xcuserdata/.xcuserdatad/UserInterfaceState.xcuserstate

และข้อผิดพลาดก็หายไป!


สิ่งนี้ใช้ได้ในตอนแรก แต่ไฟล์ที่หายไปจะปรากฏขึ้นอีกไม่นานหลังจากนั้น
Hackmodford

4

ผมมีปัญหาเหมือนกัน. ในกรณีของฉันมีไดเรกทอรี. git อยู่ในไดเรกทอรีหลักของโครงการของฉัน โดยการลบไดเรกทอรี. git หลักข้อผิดพลาดที่หายไป


3

ในกรณีของฉันฝักที่ตรวจสอบลงในพื้นที่เก็บข้อมูลสร้างสองสามร้อยคำเตือนสำหรับ "ไฟล์ที่หายไป" แก้ไขโดยการลบพ็อดออกจาก repo:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch Pods/*' --tag-name-filter cat -- --all

2

ฉันได้แก้ไขปัญหานี้แล้วโดยทำตามขั้นตอนต่อไปนี้:

  1. ล้างข้อมูลที่ได้รับ

  2. ยกเลิกไฟล์ที่หายไปขณะคอมมิชชัน

  3. สร้างความสะอาด

  4. การแก้ไข ..

Happy Coding .. :)


1

ฉันประสบปัญหาเดียวกันหลังจากเพิ่มเซลล์ CollectionView แบบกำหนดเอง (CustomCollectionViewCell) ใน project.Same ข้อผิดพลาดเกิดขึ้นดังกล่าวข้างต้น ไม่จำเป็นต้องลบไฟล์แทนเราทำได้

เปลี่ยนชื่อไฟล์ที่หายไปสำหรับฉันคือ "xCustomCollectionViewCell.xib"

ตอนนี้ข้อผิดพลาดหายไป

เปลี่ยนชื่อไฟล์เดิมเป็นชื่อ "CustomCollectionViewCell.xib" อีกครั้ง



0

ฉันมีปัญหานี้ใน Xcode 9.3

วิธีแก้ปัญหาที่เหมาะกับฉัน: เพิ่มช่องว่างในไฟล์บันทึกจากนั้นรอ!สถานะที่จะเปลี่ยนMและลบพื้นที่บันทึก

น่าเศร้าที่มีไฟล์เกือบ 100 ไฟล์ที่ต้องดำเนินการฉันได้กลับมายังโพสต์นี้อีกครั้งและความคิดเห็นนี้จาก @BennyTheNerd ถึงคำตอบช่วยด้วย!

สำหรับฉันมันเป็นเรื่องง่ายเหมือนปิดการใช้งานอย่างรวดเร็วและเปิดใช้งานการควบคุมแหล่งที่มาอีกครั้งภายใต้การตั้งค่า Xcode> Pref> การควบคุมแหล่งที่มา> ยกเลิกการเลือก "เปิดใช้งานการควบคุมแหล่งที่มา" .... แล้วเปิดใช้งานอีกครั้งหลังจากนั้น และกะเทย! ที่ไปแล้ว! - BennyTheNerd 16 มกราคม '17 ที่ 7:29

นอกจากนี้แม้ว่าฉันมี Xcode แล้วเปิดโครงการเดียวกันและเปิดใช้งานการควบคุมแหล่งที่มาอีกครั้งผ่านการตั้งค่า

หวังว่านี่จะช่วยได้!

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