ข้อผิดพลาด iOS5 Storyboard: สตอรี่บอร์ดไม่พร้อมใช้งานบน iOS 4.3 และรุ่นก่อนหน้า


98

ฉันได้สร้างแอปเล็ก ๆ โดยใช้สตอรี่บอร์ดและมันก็ทำได้ดีมาก ก่อนการทดสอบขั้นสุดท้ายฉันตัดสินใจลองใช้เพื่อดูว่ามันทำงานบน iOS 4.3 หรือไม่ ฉันคลิกที่ 5.0 สีเทาในการตั้งค่าโครงการและเลือก 4.3

แอปไม่สามารถสร้างได้โดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้:

สตอรี่บอร์ดไม่พร้อมใช้งานบน iOS 4.3 และรุ่นก่อนหน้า

สตอรี่บอร์ดของ iPhone และ iPad บอกฉันอย่างนั้น

ปัญหาที่เมื่อฉันเปลี่ยนกลับไปใช้เป้าหมาย iOS5 ฉันยังคงได้รับข้อผิดพลาดเหล่านี้จากสตอรี่บอร์ดทั้งสองและผลิตภัณฑ์จะไม่สร้าง! ฉันตรวจสอบแล้ว: เป้าหมายการปรับใช้ iOS ในการตั้งค่าโครงการคือ 5.0 เป้าหมายการปรับใช้แอปเป้าหมายคือ 5.0 การตั้งค่าบิวด์ใช้ iOS 5.0 SDK

ฉันต้องทำอะไรอีกบ้างเพื่อกู้คืนโปรเจ็กต์ของฉันให้อยู่ในสถานะที่สร้างได้ นี่เป็นบั๊กใหม่หรือว่าฉันลืมอะไรไป?

อัปเดต: ฉันยังคงได้รับข้อผิดพลาดนี้แม้ว่าจะทำความสะอาดแล้วก็ตาม ฉันเปลี่ยนดีบักเกอร์ใน Schemes เป็น "LLDB" และทำการล้างเพิ่มเติมตอนนี้โปรเจ็กต์สร้างและคอมไพล์


สำหรับบันทึกนี้ฉันได้ลองใช้วิธีแก้ปัญหาที่เสนอทุกวิธี (ณ วันที่ 9 กุมภาพันธ์ 2555) ไม่มีงานทำ อืม ...
Joe D'Andrea

1
ฉันมีปัญหาเดียวกันแม้จะมีโครงการใหม่ (นี่มันบ้ามาก)! ฉันลองใช้ทุกวิธีที่นี่แล้วไม่ได้ผล การอัปเดต Xcode เป็นเวอร์ชันล่าสุด (4.3.1) ไม่ได้ช่วยเช่นกัน grrrrrr .....
Luzifer42

1
ไม่มีคำตอบใดด้านล่างที่เหมาะกับฉัน พยายามเมื่อ 22 มีนาคม .. ! :(
jeevangs

2
ฉันProfileแก้ไขแอปพลิเคชันสำหรับการรั่วไหลแล้วRunแก้ไข =)
tGilani

นึกไม่ออกว่าแอปเปิ้ลโง่แค่ไหน
neobie

คำตอบ:


111

ฉันได้รับปัญหานี้เช่นกันและในที่สุดฉันก็แก้ไขได้ตามขั้นตอนต่อไปนี้:

  1. เปิด XXXXXX.storyboard
  2. เปิดแท็บ Identity และ Type ในมุมมองด้านขวาของ Xcode
  3. ตั้งค่าการพัฒนาในการกำหนดเวอร์ชันเอกสารเป็น "Xcode 4.2" (ค่าเริ่มต้นของฉันคือ "เวอร์ชันเริ่มต้น (Xcode 4.1)"
  4. เปลี่ยนค่าการปรับใช้จาก Project SDK Version (iOS 5.0) เป็น iOS 5.0 จากนั้นกลับไปเป็น Project SDK Version (iOS 5.0)

สร้างโครงการใหม่และข้อผิดพลาดควรได้รับการแก้ไข


สิ่งนี้ใช้ได้ผลสำหรับฉันเช่นกันการเปลี่ยนจาก GDB เป็น LLVM ดูเหมือนจะไม่ได้ผล ดูเหมือนว่าการเปลี่ยน Deployment Target ให้เป็นอะไรก็ได้ที่น้อยกว่า 5.0 บนหน้าจอ Target-> Summary จะตั้งค่า Storyboard Document Versioning Development (Xcode) กลับไปเป็น 4.1 แต่การเปลี่ยนกลับเป็น 5.0 ไม่ได้เปลี่ยนเวอร์ชัน Xcode กลับไปเป็น 4.2
FractalDoctor

1
ฉันต้องทำความสะอาดก่อนสร้างใหม่
Bushra Shahid

7
ฉันมีปัญหาเดียวกัน แต่ไม่สามารถแก้ไขได้ด้วยวิธีนี้ ในที่สุดฉันก็สามารถแก้ไขได้โดยลบการอ้างอิงไปยังสตอรีบอร์ดสร้างเพิ่มกลับแล้วสร้างอีกครั้ง
smcmahon

1
ฉันหวังว่าสิ่งนี้จะได้ผลสำหรับฉัน! ฉันรู้สึกว่ามันควรจะเป็นไปตามข้อเสนอแนะ แต่ไม่มีลูกเต๋าขอโทษ :(
Joe D'Andrea

1
แปลกไปหน่อย แต่สิ่งที่ได้ผลสำหรับฉันคือการลากไฟล์กระดานเรื่องราวจาก xcode ไปที่โต๊ะทำงานทำความสะอาดแล้วสร้าง - ไม่มีเหตุผลที่ฉันรู้
JARC

20

วิธีแก้ปัญหาที่ได้ผลสำหรับฉันคือการลบ~/Library/Developer/Xcode/DerivedDataไดเร็กทอรีสำหรับโครงการของฉัน


ดูเหมือนว่ามันจะน่าเชื่อถือที่สุด มันได้ผลสำหรับฉันเมื่อไม่มีคำตอบอื่น ๆ ที่นี่
Nicolas Renold

นี่เป็นเพียงคนเดียวที่ได้ผลสำหรับฉันและฉันก็ปฏิเสธคำตอบที่ไม่ได้ผลอย่างไม่อาย ขอโทษนะ ... อันนี้น่าหงุดหงิดเกินไป
David Morton

สิ่งนี้ได้ผลสำหรับฉัน น่าแปลกที่การลบข้อมูลที่ได้มาของโปรเจ็กต์จากออแกไนเซอร์ไม่ได้ผล แต่การลบทั้งโฟลเดอร์ออกจากตัวค้นหานั้นทำได้
ปล้น

1
การลบโฟลเดอร์ DerivedData เป็นสิ่งแรกที่ฉันพยายามเสมอ อย่างไรก็ตามไม่ได้ช่วยที่นี่
Brainray

17

ฉันจะเพิ่มคำตอบนี้เป็นอีกคำตอบที่เป็นไปได้ที่นี่เนื่องจากโซลูชันแรกใช้ได้ผลกับฉันหลายครั้ง (ดังที่ฉันได้กล่าวไว้ในความคิดเห็นก่อนหน้านี้) จนถึงวันนี้เมื่อฉันไม่สามารถรวบรวมโครงการเพื่อรวบรวมความรักหรือเงินด้วย ข้อผิดพลาดเดียวกัน เมื่อเปลี่ยนดีบักเกอร์และ Xcode ตั้งค่าเป็น 4.2 และรีสตาร์ทหลายครั้งฉันไม่สามารถคอมไพล์ได้ อย่างไรก็ตามฉันได้ค้นพบวิธีอื่นในการแก้ไขปัญหานี้

เลือกสตอรี่บอร์ดในคอลัมน์ด้านซ้ายและ "แสดงใน Finder" แล้วลากสตอรีบอร์ดไปที่เดสก์ท็อป ตอนนี้ Xcode จะเปลี่ยนสีเป็นสีแดงและไม่สามารถคอมไพล์ได้

ทำความสะอาดโปรเจ็กต์ลากสตอรีบอร์ดกลับจากเดสก์ท็อปไปยังไดเร็กทอรีในตัวค้นหา

จากนั้นสร้างและข้อผิดพลาดหายไปอีกครั้ง

ฉันไม่รู้ว่าอะไรทำให้เกิดข้อผิดพลาดในตอนแรกขณะที่ฉันกำลังพัฒนาภายใต้ iOS5 และสร้างสำหรับ 4.3 แต่ดูเหมือนว่าจะเกิดขึ้นเป็นครั้งคราวและ


สิ่งนี้ใช้ได้ผลสำหรับฉันในขณะที่การเปลี่ยนการกำหนดเวอร์ชันเอกสารและการรีสตาร์ท / การทำความสะอาดไม่ได้ผล
Berik

เอ่อฉันไม่สามารถขอบคุณมากพอ (+1) สิ่งนี้ช่วยชีวิตฉันไว้ :-)
PeterK

14

นี่ดูเหมือนจะเป็นข้อบกพร่องใน XCode ล่าสุดที่ฉันพบด้วยเช่นกันลองใช้วิธีแก้ปัญหาของ OP ในการเปลี่ยนดีบักเกอร์และไม่มีผลใด ๆ

มันครอบตัดสำหรับฉันตั้งแต่ฉันลองสตอรีบอร์ดด้วย 4.3 แล้วพยายามเปลี่ยนกลับ

วิธีแก้ปัญหาของฉันคือปิด XCode เปิดอีกครั้งและทำความสะอาด จากนั้นฉันก็รวบรวมและทำงานได้ดี

หวังว่านี่จะช่วยคนอื่น ๆ


2
Cmd + Q - เพื่อปิด xCode 'ปิด' ทั่วไปไม่เป็นประโยชน์
เบริลเลียม

ประสบการณ์ของฉันคล้ายกับคำตอบของ FiddleMeRagged: สิ่งนี้ใช้งานได้ระยะหนึ่งและในขณะนี้ใช้งานไม่ได้ (แม้ว่า cotton5415 จะไม่สามารถแก้ปัญหาได้) น่าเสียดายที่คุณไม่สามารถคาดหวังว่าสิ่งนี้จะทำงานได้ 100% แม้ว่าจะใช้งานได้ในบางครั้งก็ตาม
Tyler Collier

ใช่ วิธีแก้ปัญหาง่ายๆ: เปิด xCode อีกครั้งและเพียงแค่Cleanเสร็จสิ้น! =)
Emadpres

11

แม้ว่าโซลูชันอื่น ๆ จะช่วยฉันได้ แต่ก็ไม่ได้ผล 100% ฉันไม่รู้เกี่ยวกับ XCode มากพอที่จะรู้ว่าโซลูชันนี้น่าเชื่อถือเพียงใด แต่อย่างน้อยก็ใช้ได้ผลสำหรับฉันเพื่อให้คุณสามารถลองใช้ในโครงการของคุณได้

ที่ด้านซ้ายมือของ Xcode ให้เปิดตัวนำทางโครงการ คลิกรายการบนสุดซึ่งเป็นโครงการของคุณ ในแผงควบคุมทางด้านขวาทันทีคุณจะเห็นตัวเลือกให้เลือกระหว่างโครงการของคุณกับเป้าหมาย คลิกโครงการจากนั้นในแผงควบคุมทางด้านขวาภายใต้แท็บ "ข้อมูล" ให้ตั้งค่า "การสร้างบรรทัดคำสั่งใช้" เป็นดีบัก (ในสองโครงการของฉันที่ฉันมีข้อผิดพลาดทั้งสองถูกตั้งค่าเป็นรีลีส)

รูปภาพน่าจะง่ายที่สุด:

รูปภาพจาก Xcode

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


โอ้เย้! 'ความคิดอื่น' ได้ผล! พยายามทุกอย่างแล้ว แต่ก็ไม่ได้ผล!
Hlung

ใช่โครงการอื่นสร้างสำเร็จแล้วตอนนี้โครงการเก่าก็สร้างได้โดยไม่มีข้อผิดพลาด ขอบคุณ.
Adeel Pervaiz

7

หลังจากลองใช้คำตอบทั้งหมดในที่นี่ (ลบการอ้างอิง Storyboard ออกจาก Xcode ทำความสะอาดเปลี่ยนดีบักเกอร์ ฯลฯ ) ไม่มีอะไรทำงาน (กับ Xcode 4.5)

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

<deployment version="1280" identifier="iOS"/>

ควรอยู่ใกล้ด้านบนสุดของไฟล์ใน<dependencies>ส่วน หลังจากนั้นโปรเจ็กต์ก็ถูกสร้างขึ้นสำเร็จและ Xcode ก็เพิ่มบรรทัดนั้นเข้าไปในไฟล์อีกครั้ง แต่มันก็ยังสร้าง ...

ไปเลย ... ! หวังว่ามันจะช่วยใครสักคนได้!


การลบทั้งรายการ <deployment .. > และ <development .. > ทำงานอย่างน้อยสำหรับไฟล์ storyboard หนึ่งไฟล์ น่าแปลกที่สิ่งนี้ได้แก้ไขข้อผิดพลาด "ไม่พร้อมใช้งานใน iOS 4.3" เดียวกันในโปรเจ็กต์อื่นที่ไม่เกี่ยวข้องกับสตอรีบอร์ด
LearnCocos2D

6

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

เมื่อตั้งค่าของคุณจะกลับมาได้อย่างปลอดภัยใน iOS 5 ที่ดินลองCmd-Option-Shift K (aka "Clean สร้างโฟลเดอร์ ..." จากเมนู - ค้างตัวเลือกที่จะดูมัน) แล้วสร้าง


ฉันได้ลองวิธีการทั้งหมดข้างต้นแล้ว แต่ก็ไม่เกิดประโยชน์ใด ๆ .. จนกระทั่งฉันได้พบกับโซลูชันนี้ซึ่งทำงานได้ดีทีเดียว
morph85

5

วิธีแก้ปัญหานั้นง่ายมากคลิกขวาที่ไฟล์สตอรี่บอร์ดของคุณและแสดงในโปรแกรมค้นหาจากนั้นเลือกโฟลเดอร์ที่ไฟล์นั้นอยู่ (อาจอยู่ในโฟลเดอร์ en.lproj) คลิกขวาที่ไฟล์ MainStoryboard.storyboard ที่ทำให้เกิดปัญหาและเปิดด้วยข้อความ แก้ไขค้นหาบรรทัดที่อ่านหรืออะไรทำนองนี้:

<development version="4300" defaultVersion="4200" identifier="xcode"/>

และเปลี่ยนเป็นแบบนี้:

<development defaultVersion="4300" identifier="xcode"/>

บันทึกไฟล์และสร้าง เอท voila ...


เพียงแค่ลบทั้ง <การปรับใช้ .. > และ <การพัฒนา .. > (ถ้ามี) จากไฟล์สตอรี่บอร์ดก็แก้ไขให้ฉันได้
LearnCocos2D

4

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


ฉันไม่สามารถลบข้อมูลอ้างอิงได้เนื่องจาก Xcode 4.6 ขัดข้องทันทีที่ฉันแตะกระดานเรื่องราว
Brainray

3

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

เพียงไปที่การตั้งค่าการสร้างและแทนที่จะเลือกไฟล์โครงการ xcode ให้เลือกไฟล์ผลิตภัณฑ์และเปลี่ยนเป้าหมายการปรับใช้เป็น 5.0 หรือ 5.1 ข้อผิดพลาดควรจะดับลง! ฉันทำสิ่งนี้ใน Xcode 4.3 ใน Lion OSX มันใช้ได้ดีสำหรับฉัน !!


3

ฉันก็มีปัญหานี้เช่นกันและไม่มีอะไรช่วย แม้แต่การเปิดโครงการอื่นและพยายามสร้างก็ล้มเหลว

สิ่งที่ฉันทำและสิ่งที่ทำเพื่อฉันคือการจัดทำโครงการ -> ข้อมูลและภายใต้ "เป้าหมายการทำให้ใช้งานได้" ให้เปลี่ยนเป้าหมายการปรับใช้ iOS เป็นอะไรก็ได้สร้างและแทนที่จะเปลี่ยนกลับไปเป็นสิ่งที่เป็นอยู่และสร้างอีกครั้ง


2

นี่เป็นอีกหนึ่งแบบสุ่มวูดูไม้ตีพริกที่ดูเหมือนจะแก้ปัญหาข้อบกพร่องได้ในตอนนี้ (หลังจากเทคนิคอื่น ๆ ที่นี่ไม่ได้ช่วย) ฉันเปลี่ยนชื่อไฟล์ storyboard (และรายการสำหรับมันในไฟล์ info.plist) ยังไม่ได้ลองใช้พิธีกรรม "ลากไปที่ / จากเดสก์ท็อป"

คืนนี้ฉันเสียเวลาไป 45 นาทีสำหรับเรื่องนี้ grrrrr. โอเคฉันรู้สึกดีขึ้นแล้ว


สิ่งนี้ใช้ได้ผลสำหรับฉันและฉันแก้ไขคำตอบโดยเพิ่มขั้นตอนโดยละเอียด ฉันสงสัยว่าใครฉลาดมากที่ลงคะแนนคำแนะนำนี้ ...
Brainray

การแก้ไข: สิ่งนี้ใช้ได้ผลสำหรับฉันจนกว่า Xcode จะทำให้โครงการเสียหายอีกครั้ง ฉันต้องติดตั้ง Xcode ใหม่ด้วย ...
brainray

1

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

Edit -> Refactor -> Convert to Objective-C ARC


1

มีปัญหาที่คล้ายกัน XCode จะสร้างและรันโปรเจ็กต์อื่น ๆ ได้ดี แต่ไม่สามารถกำจัดข้อผิดพลาดในโปรเจ็กต์ที่ฉันเปลี่ยนไปได้แม้แต่การสำรองข้อมูลจากเซิร์ฟเวอร์ ลองใช้วิธีแก้ปัญหาข้างต้นทั้งหมดแล้ว แต่ nada นี่คือสิ่งที่ได้ผล

  1. ถอนการติดตั้ง XCode

  2. ลบโฟลเดอร์ user / library / developer / XCode

  3. ติดตั้ง XCode ใหม่ (บางทีคุณควรเริ่มสิ่งนี้ก่อนค้นหาโฟลเดอร์การดาวน์โหลดใช้เวลา 20 นาที)

  4. เริ่มต้นทำความสะอาดและสร้าง

ทำงานให้ฉัน ช่วยฉันไว้สักระยะ บางครั้งเมื่อมีดผ่าตัดใช้งานไม่ได้ก็ถึงเวลาที่ต้องใช้ขวาน ตอนนี้ฉันได้เลือกแบบอักษรใหม่ที่จะเขียนโค้ดแล้ว (ซึ่งจะล้างค่ากำหนดของคุณ)!


ขอบคุณที่แก้ไขในที่สุดที่นี่ สำหรับคนอื่น ๆ : คุณสามารถระบุปัญหานั้นได้หากข้อความแสดงข้อผิดพลาด "ibtool failed with exit code 255" ปรากฏขึ้น
brainray

-1

ทางออกเดียวที่ใช้ได้ผลสำหรับฉันคือสร้างโปรเจ็กต์อื่นโดยไม่เปิดใช้งาน Storyboarding สร้างมันจากนั้นเปลี่ยนกลับไปที่โปรเจ็กต์สตอรีบอร์ดล้างและสร้าง



-2

ฉันเปลี่ยนเป้าหมายการปรับใช้เป็น 4.0 และการพัฒนาเป็น 4.3 จาก MainStroyboard ฉันทำความสะอาดโครงการ และรีสตาร์ท mac :) ฉันรู้ว่ามันฟังดูตลก แต่การรีสตาร์ท xcode ไม่ได้ช่วยอะไร อาจมีแคชในหน่วยความจำ ...

จากนั้นฉันก็สร้างโครงการ ก็โอเค!

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