ฉันมีแอพที่รองรับ iOS8 และใหม่กว่าสร้างขึ้นใน Xcode 7 และฉันใช้ XIB สำหรับหน้าจอเปิดใช้ (ฉันไม่มีภาพเปิดตัว) มุมมองมี UILabel เดียวพร้อมกับเวอร์ชันแอพและ 2 UIImageViews พร้อมรูปภาพที่มีอยู่ใน Images.xcassets: โลโก้และรูปภาพสแปลช
UILabel และรูปภาพโลโก้ปรากฏอย่างถูกต้องเมื่อฉันเปิดแอปพลิเคชัน แต่ภาพสแปลชไม่ได้หากฉันเรียกใช้แอปบน iPad Air 2 ด้วย iOS9 ฉันได้ทดสอบกับ Air และ Mini ที่ใช้ iOS8 และตัวจำลอง iOS9 สำหรับ iPad 2, iPad Air และ iPad Air 2 และภาพปรากฏขึ้นอย่างถูกต้องในทุกสิ่ง
ฉันใช้การแก้ไขปัญหาพื้นฐานเพื่อดูว่าฉันสามารถคิดได้ว่าเกิดอะไรขึ้น แต่ฉันไม่สามารถแก้ไขได้และความแตกต่างเดียวที่ฉันเห็นระหว่างรูปภาพที่ใช้งานได้และสิ่งที่ล้มเหลวคือเมื่อฉันเพิ่มลงใน สินทรัพย์ ...
นี่คือบทสรุปของสิ่งที่ฉันรู้:
UIImageView สำหรับภาพสแปลชอยู่ในตำแหน่งที่ถูกต้องในขนาดที่ถูกต้อง ฉันสามารถบอกได้เพราะฉันตั้งค่าสีพื้นหลังเป็นสีเขียวเพื่อให้แน่ใจ มีมุมมองอยู่ แต่ภาพไม่ปรากฏขึ้น ดังนั้นฉันสมมติว่ามุมมองนั้นไม่ควรตำหนิ
การตั้งค่า UIImageView เพื่อให้ภาพสแปลชยังใช้รูปโลโก้ทำให้ภาพโลโก้ปรากฏในตำแหน่งที่ถูกต้องสำหรับมุมมอง นี่ทำให้ฉันคิดว่ามุมมองนั้นไม่ควรตำหนิ
UIImage ที่ฉันใช้ในมุมมองภาพสแปลชถูกนำไปใช้ที่อื่นในแอปและปรากฏได้ดีในมุมมองอื่น ๆ (รูปภาพโลโก้ยังถูกใช้ที่อื่นในแอพและดูดีด้วย) ดังนั้นฉันสมมติว่าภาพนั้นถูกต้องและการปรากฏในมุมมองอื่นไม่ใช่ปัญหา
ฉันยืนยันว่าการตั้งค่าของ UIImages สำหรับโลโก้และสาดในไฟล์ xcassets เหมือนกัน พวกเขาถูกตั้งค่าเป็นสากลความกว้างและความสูงใด ๆ ปัจจัยหลายสเกลแสดงเป็นค่าเริ่มต้น มีความแตกต่างเพียงอย่างเดียว - โลโก้มีสเกล 1x, 2x และ 3x ในขณะที่ภาพสาดมีเพียง 1x และ 2x แต่ฉันได้ลองใช้ UIImages ด้วยค่า 1x, และ 1x และ 2x ใน UIView และทำงาน (ถ้าเป็น เพิ่มไว้ในโครงการเมื่อไม่นานมานี้)
การเพิ่มรูปภาพอื่นที่มีขนาดหรือรูปแบบที่แตกต่างกัน (PNG และ JPG) ลงใน xcassets ของฉันและการใช้ UIImage นั้นใน UIImageView สำหรับภาพที่สาดก็ล้มเหลวเช่นกัน
การเพิ่ม UIImageView อื่นลงในไฟล์ XIB และจัดสรร UIImage ที่มีอยู่ใน xcassets แล้วรูปภาพจะปรากฏขึ้นในหน้าจอการโหลด
การคัดลอกและเปลี่ยนชื่อไฟล์รูปภาพที่ใช้สำหรับโลโก้และเพิ่มลงในโครงการจากนั้นใช้ UIImage นั้นในมุมมองสแปลชยังไม่สามารถแสดงได้
ฉันได้ลองทำความสะอาดโครงการรีสตาร์ทเครื่องพัฒนาและลบแอพออกจาก Air 2 และติดตั้งใหม่ในกรณีที่เกิดปัญหา
สามขั้นตอนสุดท้ายนี้ทำให้ฉันเชื่อว่ามีปัญหาบางอย่างกับภาพที่เพิ่มหลังจากจุดหนึ่งในช่วงชีวิตของไฟล์โครงการ ในขณะที่ฉันอัปเดตเป็น Xcode 7 เมื่อวานนี้ภาพสาดถูกเพิ่มเข้ามาใน Xcode 6 แต่ภาพโลโก้ (เพิ่มใน Xcode 6) ถูกเพิ่มเข้ามาเมื่อหลายเดือนก่อน
ฉันได้ดูไฟล์ json เพื่อดูภาพโลโก้และภาพสแปลชและพวกเขาดูเหมือนจะมีรูปแบบเดียวกัน ฉันยังสืบค้นผ่านไฟล์ pbxproj เพื่อหาความแตกต่างและมองไม่เห็น
ดังนั้นฉันสงสัยว่าถ้าใครมีความคิดใด ๆ ว่าทำไมหน้าจอเปิดตัวอาจไม่แสดงภาพใหม่ที่ฉันเพิ่มใน Air 2 โดยเฉพาะ คำถามอื่น ๆ ที่ฉันได้อ่านเกี่ยวกับรูปภาพที่ไม่ปรากฏดูเหมือนว่าจะเกี่ยวข้องกับ Launch Images หรือรูปภาพในไฟล์ XIB ที่มีคลาสที่เกี่ยวข้องซึ่งไม่เกี่ยวข้องกันเลย