เรียกใช้อิมเมจไม่ปรากฏในแอพ iOS ของฉัน


149

ฉันต้องการหน้าจอเปิดใช้งานที่เรียบง่ายเพื่อแสดงในแอปของฉันสร้างโดยใช้ Xcode 6.0.1

ฉันได้เพิ่มหน้าจอเรียกใช้งานในสองวิธี: ในฐานะ XIB (ด้วยชื่อเริ่มต้น, LaunchScreen.xib) และเป็นชุดรูปแบบภายในชุด xcassets

ฉันแน่ใจว่า "ไฟล์หน้าจอเรียกใช้" ของฉันถูกตั้งค่าเป็น LaunchScreen.xib

ฉันจำลองอุปกรณ์ทุกตัวที่มีให้ (เช่น "iPhone5 iOS8" / "iPhone5s iOS8" / "iPhone6 ​​iOS8" โปรดทราบว่ามีเพียง iOS 8 เท่านั้นที่สามารถใช้งานได้ในอุปกรณ์จำลอง)


อิมเมจที่ใช้ในหน้าจอเรียกใช้งานไม่ควรอยู่ใน Images.xcassets พวกเขาควรใส่ไว้ในชุดเพื่อตรวจสอบว่าลองทดสอบภาพที่ไม่ได้อยู่ใน xcassets และตั้งค่าสีพื้นหลังเป็น. xib เพื่อดู หากกำลังโหลด. xib
Juan Boero

@JuanBoero ทำไมในชุด? พวกมันถูกใช้ในเวลาบิลด์ไม่ใช่รันไทม์
Rudolf Adamkovič

คำตอบ:


239

ดังนั้นสิ่งนี้จึงค่อนข้างเจ็บปวดสำหรับบางสิ่งที่ไม่สำคัญ นี่คือสิ่งที่ฉันทำ:

ใช้ xcassets

ฉันตัดสินใจใช้. xcassets กับ. xib สำหรับการเปิดตัว ฉันลบ. xib หากคุณมี images.xcassets อยู่ในโครงการของคุณอยู่แล้วเยี่ยมยอดมิฉะนั้นคุณสามารถเพิ่มหนึ่งไฟล์จากไฟล์> ใหม่> ไฟล์:

AddNewASsetCatalog

สร้างชุดรูปภาพเรียกใช้งาน

ตอนนี้สร้างชุด launchimage และไอคอนอย่างน้อยที่สุดในไฟล์. xcassets ของคุณโดยคลิกขวาในพื้นที่นำทาง

เพิ่มรูปภาพเรียกใช้และไอคอนแอปใหม่

อัปเดตไอคอนแอพและเรียกใช้การตั้งค่ารูปภาพ

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

สำคัญมาก: ตรวจสอบให้แน่ใจว่าการตั้งค่า "เปิดไฟล์หน้าจอ" ว่างเปล่า

ไอคอนแอพและชุดภาพ

เพิ่มรูปภาพ

สุดท้าย แต่ไม่ท้ายสุดคำศัพท์ที่ Apple ใช้ในการเลือกอุปกรณ์นั้นทำให้เกิดความสับสน ตอนแรกฉันคิดว่าตั้งแต่ฉันปรับใช้สำหรับ iOS8 เท่านั้น (แนวตั้งของ iPhone) ฉันสามารถทำสิ่งนี้และวางลงในภาพเปิดตัว iPhone 6 และ iPhone 6+:

อุปกรณ์

ฉันรู้ได้อย่างรวดเร็วว่านี่ไม่ใช่วิธีการใช้งานและฉันได้รับคำเตือน: "ต้องมีอิมเมจเปิดตัว iPhone Retina (4 นิ้ว) สำหรับ iOS 7.0 และใหม่กว่า"

ดังนั้นฉันต้องเลือก iPhone ที่ใช้ iOS 7.0 ขึ้นไปและเพิ่มรูปภาพสำหรับ iPhone 5s

ดังนั้นหากต้องการตรวจสอบว่ามีกล่องอะไรให้ตรวจสอบทางด้านขวาอย่าถามคำถาม: อะไรคือ iOS ขั้นต่ำของฉันและการวางแนวอุปกรณ์และอุปกรณ์ แต่ถามว่า:

มีอุปกรณ์อะไรบ้างที่สามารถรองรับ iOS ขั้นต่ำของฉัน ตอนนี้ iOS ขั้นต่ำสุดรองรับอุปกรณ์เหล่านี้อย่างไร? และตรวจสอบให้แน่ใจว่าคุณทำเครื่องหมายที่กล่องทั้งหมด ดังนั้นสำหรับฉันฉันกำลังกำหนดเป้าหมาย iPhone 5s, 6 และ 6 Plus ที่ 8.0 แต่เนื่องจาก iPhone 5s สามารถมีอยู่กับ 7.0 ฉันต้องตรวจสอบกล่อง 7.0 เช่นกันเพื่อแสดงตัวยึดตำแหน่งภาพ กล่าวอีกนัยหนึ่งกล่องกาเครื่องหมาย (iOS) ทางด้านขวาจะแสดงเวอร์ชัน iOS ขั้นต่ำที่มีให้สำหรับอุปกรณ์นั้นและคุณต้องคลิกเพื่อแสดงตัวยึดรูปและวางรูปภาพโดยไม่คำนึงว่าคุณกำลังปรับใช้กับ iOS เวอร์ชันนี้หรือไม่ .

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

การเพิ่มอุปกรณ์ทั้งหมด

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


1
โดยไม่ต้องเปิดหน้าจอขนาดแป้นพิมพ์ที่แตกต่างกันความคิดใด ๆ วิธีการแก้ไขปัญหาที่screencast.com/t/Vk18vuhSqZv
souvickcse

2
สิ่งนี้น่ารำคาญมาก
ReduxDJ

5
คุณคุณได้รับรางวัลอินเทอร์เน็ต
OhadM

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

15
Ahhhh ฉันต้องการลบแอพของฉันจากโทรศัพท์เพื่อให้การเปลี่ยนแปลงมีผลฉันเพิ่งเสียเวลามาก: '(
Phil Hudson

31

ค่าLaunchScreen.xibและข้อมูลLaunch screen interface file base nameนั้นมาจากประสบการณ์ของฉันทั้งตัวยึดตำแหน่งที่สร้างขึ้นเมื่อมีการสร้างโครงการ หากคุณต้องการใช้Images.xcassetsเฉพาะสำหรับหน้าจอเรียกใช้ของคุณให้ลบทั้งรายการLaunchScreen.xibและinfo.plistรายการ

หากคุณระบุการinfo.plistตั้งค่าที่แอพจะใช้xibและไม่ใช่ของคุณImages.xcassets


1
ทางออกที่ดีตรงไปตรงมา
Travis M.

2
วิธีแก้ปัญหา "arcady bob" ใช้งานได้สำหรับฉัน: ฉันเปิด "info.plist" และลบองค์ประกอบ "เปิดตัวชื่อฐานไฟล์ส่วนต่อประสานหน้าจอ" เปิดใช้งานแอปของฉันและในที่สุดภาพเริ่มต้นก็อยู่ที่นั่น
Jose Manuel Abarca Rodríguez

นี่คือรุ่นเก่า แต่นี่คือสิ่งที่แก้ไขสำหรับฉัน
Martin

20

Xcode 8:

รูปภาพที่ใช้ใน LaunchScreen.xib ไม่ควรอยู่ใน. xcassets ลองวางในบันเดิล

ดูเหมือนว่าตามเวลาที่. xib ถูกโหลดรูปภาพใน. xcassets ยังไม่พร้อมใช้งาน

แก้ไข: ด้วยเหตุผลที่ทึบบางหลังจากเพิ่มการแปลบางท้องถิ่นเปิดหน้าจอหยุดทำงานตอนนี้มันทำงานกับภาพจากสินทรัพย์แปลกมาก


2
เพื่อเพิ่มคำตอบของคุณ ... เมื่อเร็ว ๆ นี้ฉันพยายามใช้แบบอักษรที่กำหนดเองในไฟล์ "Launch Screen.storyboard" เหตุผลที่ฉันไม่ชัดเจนหลังจากอ่านคำตอบ SOนี้และการวิจัย / ทดสอบเพิ่มเติมอีกเล็กน้อย มันเป็นสิ่งเดียวกันสำหรับรูปภาพ ... Xcode เตรียมภาพรวมแนวตั้งและแนวนอนของหน้าจอเรียกใช้แอปของคุณและ (ปัจจุบัน) บันทึกที่นี่: /Library/Caches/Snapshots/<<app_bundle>>/เสร็จสมบูรณ์ก่อนโหลดไฟล์สนับสนุนรวมถึงแบบอักษรที่กำหนดเองและแคตตาล็อกสินทรัพย์
andrewbuilder

3
ฉันสังเกตเห็นว่ารูปภาพขนาดใหญ่ (> 512px) ไม่ปรากฏบน LaunchScreen ของฉันเมื่อโหลดจาก. xcasset ในขณะที่รูปภาพขนาดเล็กจะแสดง ขอบคุณที่พูดถึงทางออกของคุณ!
auco

ขอบคุณมากฉันใช้เวลาแก้ปัญหานี้เกือบ 3 ชั่วโมง ปรากฎ. xcasstes ถูกตำหนิ
Sergey Grischyov

เช่นเดียวกันที่นี่เปลี่ยนไฟล์รูปภาพที่ใช้ใน xib จาก 1024x1024 เป็นความละเอียด 512px ที่น้อยกว่าได้รับการแก้ไข
Eike

1
@JuanBoero ในชุดหรือไม่ พวกมันถูกใช้ในเวลาบิลด์ไม่ใช่รันไทม์
Rudolf Adamkovič

17

ทางออกของฉันคือการสร้างภาพเปิดตัวทั้งหมด ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นฉันจะตั้งค่า Launch Images Source เป็นทรัพย์สิน LaunchImage และปล่อยให้ไฟล์หน้าจอเรียกใช้ว่างเปล่า

ท้ายที่สุดถ้าโครงการไม่มี Launch Screen.xib ให้เพิ่มไฟล์นั้นและปล่อยให้เป็นเหมือนเดิม ป้อนคำอธิบายรูปภาพที่นี่


4
เพิ่ม IMages มากมาย เพิ่มขนาด ipa XIB Launch เป็นโซลูชั่นสำหรับการที่ ตัวอย่างเช่นหากคุณมีพื้นหลังแบบธรรมดาและมีโลโก้อยู่ตรงกลางแนะนำให้ใช้ XIB เพียงแค่ตั้งค่าสีพื้นหลังและเพิ่ม UIImage ที่อยู่ตรงกลางนั่นแหละ แต่เป็นทางเลือกอีกครั้ง
Jasmeet

การเพิ่ม Launch Sceen.xib โดยที่ไม่ต้องใช้มันจริง ๆ แล้วมันเป็นเคล็ดลับสำหรับฉัน ขอบคุณ!
Jacco

Xcode 6 จะไม่ให้ฉันเปลี่ยน "เปิดแหล่งรูปภาพ" แต่เก็บไว้กับข้อความนี้ซึ่งฉันไม่ได้รับอนุญาตให้แก้ไข: "ใช้แคตตาล็อกสินทรัพย์" - และมันทำตัวเหมือนปุ่มมากขึ้นซึ่งถ้าฉันคลิกฉัน รับตัวเลือกเพื่อ: โยกย้ายรูปภาพเริ่มต้นไปที่แคตตาล็อกสินทรัพย์ ... ไม่ทราบว่าจะไปจากที่นี่ มีใครอีกไหมที่เข้าร่วมในเรื่องนี้? ฉันได้นำเข้าโฟลเดอร์ทั้งหมดของอิมเมจการเปิดตัวที่สร้างไว้ล่วงหน้าในขนาดต่างๆลงในแคตตาล็อกสินทรัพย์ LaunchImage แล้ว ไม่มีข้อความผิดพลาด แต่ผมไม่เห็นภาพการเปิดตัวของฉันหรือรูปภาพในแอปของฉันแม้หลังจากทำตามคำแนะนำข้างต้นการสร้างรีสตาร์ทคอมพิวเตอร์ของฉัน ...
แดด

12

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


หลังจากถอนการติดตั้งแอพฉันต้องรีสตาร์ทอุปกรณ์ นอกจากนี้ฉันล้างแคช Xcode และเริ่ม Xcode ใหม่อีกครั้ง
lenooh

11

สำหรับคนที่กำลังใช้งานAsset Catalog's Launch Imageในขณะที่ผมได้เรียนรู้วิธีการที่ยากที่สุดที่ฉันมีสถานการณ์นี้ที่ผมได้รับเป็นครั้งแรกไฟล์แล้วผมถามพวกเขาแปลงเป็นjpgPNG

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

TL; DR: ตรวจสอบให้แน่ใจว่าคุณใช้ไฟล์ PNG ที่เหมาะสมไม่ใช่ไฟล์ที่มีนามสกุลที่ถูกเปลี่ยนชื่อ


1
ระมัดระวังในการใช้ตัวพิมพ์ใหญ่ในส่วนขยายของไฟล์ในขณะที่อุปกรณ์จะค้นหาไฟล์ได้อย่างเหมาะสมตัวจำลองอาจไม่ทำงาน
Juan Boero

10

การลบ "Launch base file interface ชื่อไฟล์" จากไฟล์ Info.plist และการกำจัด "Launch Screen.xib" นั้นใช้งานได้สำหรับฉัน


นี่เป็นการแก้ไขปัญหาของฉัน แต่ฉันคิดว่าแอปเปิ้ลแนะนำว่าจะเป็นการดีกว่าที่คนอื่นจะใช้ไฟล์ xib แทนที่จะสร้างภาพ 9 ภาพที่แตกต่างกัน
TypingPanda

7

เพียงลบและติดตั้งแอพใหม่ให้กับฉัน:

  • การทดสอบในเครื่องจำลอง

    1. ลบแอพในตัวจำลอง
    2. ออกและรีสตาร์ทเครื่องมือจำลอง
    3. เรียกใช้โครงการอีกครั้งใน Xcode

  • ทดสอบบนอุปกรณ์

    1. ลบแอพออกจากอุปกรณ์
    2. เรียกใช้โครงการอีกครั้งใน Xcode

2
สำหรับอุปกรณ์ไม่เพียง แต่การลบและติดตั้งใหม่ไม่ได้ผลสำหรับฉัน การรีสตาร์ทโทรศัพท์ (อุปกรณ์) เป็นวิธีแก้ปัญหาในกรณีของฉัน
Kutay Demireren

6

ปัญหาของคำตอบที่ได้รับการยอมรับคือถ้าคุณไม่ได้ตั้งค่าไฟล์เปิดหน้าจอแอปพลิเคชันของคุณจะอยู่ในโหมดลดอัตราการสุ่มสัญญาณบนอุปกรณ์เช่น iPhone 6 & 6+ => การเรนเดอร์เบลอ

ด้านล่างคือสิ่งที่ฉันทำเพื่อให้มีโซลูชั่นการทำงานที่สมบูรณ์ (ฉันกำหนดเป้าหมาย iOS 7.1 และใช้ Xcode 8) ในทุกอุปกรณ์ (จริง ๆ แล้วฉันคลั่งไคล้กับปัญหาการลดอัตราการสุ่มนี้)

1. เตรียม. xcassets ของคุณ

เพื่อให้ง่ายขึ้นฉันใช้ไฟล์ vector .PDF มันสะดวกมากและหลีกเลี่ยงการสร้างภาพหลายภาพสำหรับแต่ละความละเอียด (1x, 2x, 3x ... ) ฉันคิดว่าที่นี่คุณสร้าง xcassets ของคุณแล้ว

  • เพิ่มรูปภาพหน้าจอเรียกใช้ (หรือไฟล์เวกเตอร์) ลงในโครงการของคุณ
  • ไปที่ .xcassets ของคุณและสร้างชุดภาพใหม่ ในหน้าต่างคุณสมบัติของรูปภาพให้เลือกเครื่องชั่ง -> สเกลเดี่ยว
  • ลากและวางไฟล์เวกเตอร์ในชุดภาพ

สร้างชุดรูปภาพสำหรับ. xcassets ของคุณ

2. สร้างไฟล์หน้าจอเรียกใช้ของคุณ

สร้างไฟล์หน้าจอเรียกใช้

3. เพิ่มรูปภาพของคุณลงในไฟล์หน้าจอเรียกใช้

  • เพิ่มอิมเมจอิมเมจไปยังไฟล์หน้าจอเรียกใช้ของคุณ (ลบเลเบลที่สร้างขึ้นโดยอัตโนมัติ) มุมมองภาพนี้ควรอ้างอิงถึงชุดภาพ . xcassetsก่อนหน้า คุณสามารถอ้างอิงได้จากแอตทริบิวต์ชื่อ ในขั้นตอนนี้คุณควรเห็นภาพหน้าจอเริ่มต้นของคุณในมุมมองภาพอย่างถูกต้อง
  • เพิ่มข้อ จำกัด ในมุมมองภาพนี้เพื่อรักษาอัตราส่วนภาพตามความละเอียดหน้าจอ

เพิ่มภาพหน้าจอสแปลชลงในไฟล์ Launch Screen ของคุณ

4. เพิ่มไฟล์หน้าจอเรียกใช้ลงในเป้าหมายของคุณ

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

เริ่มแอพของคุณและหน้าจอเริ่มต้นควรปรากฏขึ้น ลองบน iPhone6 ​​และ iPhone6 ​​+ และแอปพลิเคชันของคุณจะแสดงอย่างถูกต้องโดยไม่มีการลดอัตราการสุ่ม (ไฟล์ Launch Screen มีจุดประสงค์เพื่อทำสิ่งนี้)


ฉันลองสิ่งนี้ แต่มันใช้งานไม่ได้: stackoverflow.com/questions/43168145/…ความคิดใดที่เป็นสาเหตุ ขอบคุณมาก ๆ.
Vaddadi Kartick

ฉันเพิ่งคิดออก ภาพเริ่มต้นของฉันไม่แสดงขึ้นฉันได้รับหน้าจอสีขาวเมื่อเปิดใช้งานบนอุปกรณ์ (iPhone 6, 7+) หรือ testFlight แก้ไข: เปลี่ยนชื่อ "Landing_screen.png" เป็นเพียง "Landing_screen" การลบส่วน. png ไอคอนรูปภาพใน Xcode เปลี่ยนเป็นไอคอนสีขาวและในกระดานเรื่องราวหน้าจอเรียกใช้ภาพจะปรากฏเป็นเครื่องหมายคำถามทันที รูปภาพเรียกใช้ปรากฏขึ้นในขณะนี้และไม่ใช่หน้าจอสีขาว
Brian

ฉันมีปัญหาที่คล้ายกัน เมื่อใช้กราฟิกแบบเวกเตอร์ (pdf) ภาพไม่แสดงใน Lunch Screen แต่ถ้าฉันใช้กระดานเรื่องราวเดียวกันกับ Main (ซึ่งแสดงหลังหน้าจอ Lunch) ฉันจะเห็นภาพได้ ดังนั้นการเดาของฉันคือกราฟิกแบบเวกเตอร์ไม่เหมาะสำหรับหน้าจออาหารกลางวัน
Adi

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

5

หลังจากหลายชั่วโมงด้วยความผิดหวังฉันตัดสินใจใช้วิธีนี้ ใช้งานได้ทั้ง iPhone และ iPad (บน Xcode 6.1)

  1. ไฟล์ >> ไฟล์ใหม่ >> ส่วนต่อประสานผู้ใช้ >> หน้าจอเรียกใช้
  2. สร้างคีย์ / ค่าใหม่: "เปิดใช้ชื่อฐานไฟล์ของหน้าจออินเทอร์เฟซ" / "ชื่อหน้าจอเรียกใช้ของคุณ" ใน YourApp-Info.plist

1 ภาพมีมูลค่ามากกว่าพันคำ โปรดดูด้านล่าง:

ไฟล์ >> ไฟล์ใหม่ >> ส่วนต่อประสานผู้ใช้ >> หน้าจอเรียกใช้

สร้างคีย์ / ค่าใหม่ "เปิดใช้ชื่อฐานไฟล์ของหน้าจออินเทอร์เฟซ" / "ชื่อหน้าจอเรียกใช้ของคุณ" ใน YourApp-Info.plist


4

ฉันได้อ่านเกี่ยวกับข้อผิดพลาดใน Xcode 6 ซึ่งป้องกันไม่ให้แอพแนวนอนเท่านั้นแสดงรูปภาพเริ่มต้น

ลองตั้งค่ารูปภาพและการวางแนวภายใน Images.xcassets:

ภาพหน้าจอ Xcode ของ Images.xcassets


1
คุณพยายามจะบอกอะไรกับภาพหน้าจอ
NikkyD

2
เพื่อตรวจสอบการวางแนวของตัวตรวจสอบคุณสมบัติ
carlodurso

2

มีข้อผิดพลาดที่ Xcode 6 เปิดตัวรูปภาพที่เก็บไว้ในไฟล์สินทรัพย์ทำให้แอพ iphone landscape เฉพาะใน iOS7 / iOS8 เพื่อแสดงรูปภาพเรียกใช้สีดำ iPad ใช้งานได้ดี

http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=10868

การแก้ไข: ใช้ Launchscreen.xib ใหม่สำหรับ ios8 + ขึ้นไป (มันดีกว่ามาก)

สำหรับอุปกรณ์ ios7 ในการทำงานคุณเพียงแค่ปิดแหล่งภาพเริ่มต้นและใช้ชื่อไฟล์รูปภาพเริ่มต้นของโรงเรียนในเพลท

iphone5 - Default-568h@2x.png 
iphone4s - Default@2x.png
ipad2 - Default-Landscape~ipad.png
ipad retina - Default-Landscape@2x~ipad.png

เจ็บปวด แต่ใช้งานได้ B
ป้อนคำอธิบายรูปภาพที่นี่


2

ฉันลองทุกอย่างแล้ว แต่วิธีแก้ก็ง่ายมาก เพียงใช้ไฟล์. jpg แทนที่จะเป็น. png บน LaunchScreen.storyboard ของคุณ ดูเหมือนว่า iOS จะไม่แสดงไฟล์. png หรือภาพขนาดใหญ่ที่หน้าจอเปิดตัว


ฉันมี png ในหน้าจอเปิดตัวของฉัน - ซึ่งแสดงได้อย่างสมบูรณ์แบบเมื่อสร้างสตอรี่บอร์ดใน Xcode - แต่จะปรากฏเป็นสีดำเมื่อพยายามเรียกใช้แอปบนอุปกรณ์จริง หลังจากดึงผมออกไปซักพักผมก็เปลี่ยนเป็น jpg และตอนนี้ก็ใช้ได้ดี ขอบคุณ!
tiritea

2

ทำในสิ่งที่ Spectravideo328 ตอบและ:

ลองเปิด UNCHECK iOS 7 ขึ้นไปและตรวจสอบ iOS 6 และช่องก่อนหน้าในแค็ตตาล็อกสินทรัพย์ ดูเหมือนจะมีข้อผิดพลาดกับอิมเมจเปิดตัว iOS 7 (สิ่งเหล่านี้ทั้งสองมีรูปภาพเรียกใช้เดียวกันยกเว้น 320x480 หนึ่งภาพ)

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


1

ฉันตั้งค่า "LaunchImage" ในแคตตาล็อกสินทรัพย์ของฉันและเพียงแค่ล้างฟิลด์ "หน้าจอเปิดตัว" และข้อความ! ฉันมีภาพเปิดตัวปรากฏขึ้น ...


คุณจะได้รับมาตราส่วนดั้งเดิมในแอปของคุณด้วยตัวเลือกนั้น
George Maisuradze

@GeorgeMays คุณจะใช้ Launch Images ได้อย่างไร
Crashalot

1

วิธีหนึ่งคือเพิ่ม"เปิดหน้าจอ" ( LaunchScreen.xib) วางภาพลงไปUIImageViewแล้วตั้งเป็น " แนวนอนกึ่งกลางในตู้คอนเทนเนอร์ " และ " แนวตั้งกึ่งกลางในตู้คอนเทนเนอร์ " ใน"จัดตำแหน่ง"หากคุณใช้เค้าโครงอัตโนมัติ

หน้าจอ: http://i.stack.imgur.com/CfnHT.png

อย่าลืมใส่LaunchScreen.xib"เปิดไฟล์หน้าจอ"


1

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


1
  • ตรวจสอบให้แน่ใจว่ารูปภาพของคุณมีขนาดที่ถูกต้องตามหลักเกณฑ์ของ Apple
  • ตรวจสอบให้แน่ใจว่าคุณจะเลือกตัวเลือกเดียวเท่านั้นไม่ว่าจะเป็นไฟล์หน้าจอเรียกใช้หรือเปิดแหล่งรูปภาพ คุณสามารถค้นหาตัวเลือกทั้งสองนี้ได้ในการตั้งค่าการสร้างโครงการ -> ทั่วไป

คำแนะนำของฉันสำหรับคุณคือเลือกเปิดแหล่งรูปภาพเป็น Image.Assets สร้างสินทรัพย์รูปภาพสแปลที่มีในโฟลเดอร์ Image.assests

รูปภาพอ้างอิงสำหรับการกำหนดค่าที่ถูกต้อง: ป้อนคำอธิบายรูปภาพที่นี่


0

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

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

ฉันเป็น "เปิดแหล่งรูปภาพ" และตั้งค่าเป็น Images.xcassets ซึ่งสร้างด้วยภาพพื้นหลังที่ฉันเพิ่มลงในโครงการ (ดีทั้งหมดจนถึงตอนนี้)

รันตัวจำลองและรูปภาพเริ่มต้นอีกครั้งไม่แสดง ...

หลังจากลบ "ไฟล์หน้าจอเรียกใช้" ที่ระบุและรายการล้าง: ผลิตภัณฑ์ -> ล้างจากเมนูด้านบนรูปภาพเริ่มต้นจะปรากฏขึ้นในที่สุด

บางทีนั่นอาจจะช่วยได้?


Terrence - คุณลองใช้โปรแกรมจำลองอีกครั้งหรือไม่ เหตุผลที่ฉันถามคือเทคนิคนี้ทำงานครั้งแรกที่ฉันเรียกใช้ แต่เมื่อเรียกใช้โปรแกรมจำลองซ้ำฉันกลับไปที่สี่เหลี่ยมจัตุรัส
Eddie Hartman

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

0

มีไฟล์ 'LaunchScreen.xib' ถูกเพิ่มเข้าไปในโครงการของคุณโดยอัตโนมัติการลบสิ่งนี้จะเปลี่ยน xCode ให้ใช้รูปภาพเริ่มต้นใน Images.xcassets

แก้ไขเพื่อเพิ่มไปที่ไอคอนแอพและเปิดไฟล์หน้าจอเปิดใช้รูปภาพควรว่าง / emtpy


0

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

ฉันแก้ไขสิ่งนี้เมื่อฉันเปลี่ยนการกำหนดค่าการสร้างของฉันเพื่อปล่อยปุ่มเปิดแหล่งที่มาของรูปภาพปรากฏขึ้นและฉันต้องเลือกใช้แคตตาล็อกสินทรัพย์อีกครั้ง

สำหรับผู้ที่มีความสงสัยนี่คือสิ่งที่โครงการของฉัน pbxproj ดูเหมือน

...
...
...
XXXXXXXXXXXXXXXXXXXXXXXX /* Release */ = {
            isa = XCBuildConfiguration;
            buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; <---THIS LINE WAS MISSING
...
...
...

0

ด้วยเหตุผลบางอย่างฉันต้องเปลี่ยนตำแหน่งแคตตาล็อกสินทรัพย์เป็น "สัมพันธ์กับโครงการ" เพื่อให้การทำงานนี้

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


0

* (Xcode 7.2 / การปรับใช้เป้าหมาย 7.0 / การวางแนวแนวนอนเท่านั้น) *

ฉันรู้ว่าเป็นคำถามเก่า แต่ด้วย Xcode 7.2 ฉันยังได้รับข้อความและฉันแก้ไขด้วย:

1) เลือก PORTRAIT และทิวทัศน์ทั้งสอง เพิ่ม "เปิดแหล่งรูปภาพ" และ "เปิดไฟล์หน้าจอ"

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

2) ในรูปภาพเริ่มต้นของคุณเลือก iPhone "8.0 และใหม่กว่า" และ "7.0 และใหม่กว่า"

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

3) เพิ่มรหัสนี้ในแอปของคุณตัวแทน:

#if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000
- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}
#else
- (UIInterfaceOrientationMask)application:(UIApplication *)application     supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    return (UIInterfaceOrientationMaskLandscape);
}
#endif

4) เพิ่มสิ่งนี้ลงใน ViewController ของคุณ

#if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000
- (NSUInteger)supportedInterfaceOrientations
#else
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
#endif
{
     return UIInterfaceOrientationMaskLandscape;
}

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


ฉันลองสิ่งที่คล้ายกัน แต่ไม่ได้ผล: stackoverflow.com/questions/43168145/…ความคิดใดที่เป็นสาเหตุ ขอบคุณมาก ๆ.
Vaddadi Kartick

1
นี่จะเป็นหนึ่งใน FU ตัวน้อยที่น่ารำคาญในการพัฒนา Xcode มีบางสิ่งที่ชัดเจน (ดูเหมือน) ในการตั้งค่าและทุกโครงการที่ฉันสร้างสัตว์ตัวน้อยตัวนี้ใช้เวลามากเกินไป waaaay ทุกครั้งที่ฉันแก้มันดูเหมือนว่าสุ่มและเมื่อมันทำงานฉันอธิษฐานฉันไม่ได้ตั้งใจสัมผัสไฟล์ / กระบวนการอีกครั้ง โครงการใหม่ต้องบ้าเหมือนกันว่าทำไมกราฟิกเพียงแค่ตรงกลางของหน้าจอเปิดตัวบอร์ดไม่แสดง การตั้งค่าทั้งหมดนั้นเป็นไปตามข้อกำหนด แต่บางทีระยะดวงจันทร์นั้นผิด?
วาด ..

0

มันใช้งานได้สำหรับฉัน คลิก LaunchScreen.storyboard จากนั้นในแผงควบคุมด้านขวาคุณสามารถเลือกช่องทำเครื่องหมาย "Is Initial View Controller"

LaunchScreen.storyboard -> เป็นตัวควบคุมมุมมองเริ่มต้น


0

ฉันเพิ่งคิดออก ภาพเริ่มต้นของฉันไม่แสดงขึ้นฉันได้รับหน้าจอสีขาวเมื่อเปิดใช้งานบนอุปกรณ์ (iPhone 6, 7+) หรือ testFlight แก้ไข: เปลี่ยนชื่อ "Landing_screen.png" เป็นเพียง "Landing_screen" การลบส่วน. png ไอคอนรูปภาพใน Xcode เปลี่ยนเป็นไอคอนสีขาวและในกระดานเรื่องราวหน้าจอเรียกใช้ภาพจะปรากฏเป็นเครื่องหมายคำถามทันที รูปภาพเรียกใช้ปรากฏขึ้นในขณะนี้และไม่ใช่หน้าจอสีขาว การตั้งค่าของฉัน: ฉันใช้ Swift 3.1 กับ Xcode 8.3.1 ใน LaunchScreen.storyboard ฉันได้เพิ่มมุมมองภาพที่เรียบง่ายและขยายภาพให้พอดีกับตัวควบคุมมุมมอง ฉันตั้งค่าข้อ จำกัด เลย์เอาต์อัตโนมัติด้านบน / ล่าง / นำหน้า / ต่อท้ายช่องว่างเป็น superview เป็น 0


0

หากคุณเปลี่ยนภาพเริ่มต้นจากภาพก่อนหน้าและปฏิบัติตามขั้นตอนต่อไปนี้:

  • อุปกรณ์ / ตัวจำลองที่ติดตั้งแอปก่อนหน้านี้ยังคงแสดงภาพก่อนหน้าและปฏิเสธที่จะแสดงอันใหม่ (การถอนการติดตั้งและติดตั้งแอพใหม่ไม่ได้ช่วย)
  • อุปกรณ์ / อุปกรณ์จำลองที่ไม่ได้ติดตั้งแอปพลิเคชันไว้ก่อนหน้านี้ให้แสดงภาพเปิดตัวใหม่

อาจเป็นเพราะการแคชรูปภาพเริ่มต้นทำโดย iOS การรีบูทอุปกรณ์ควรแก้ปัญหา


0

ฉันพบข้อบกพร่องนี้ด้วยแอพแนวนอนเท่านั้น วิธีการแก้ปัญหาต่อไปนี้ของ carlodurso:

  1. ทำเครื่องหมายที่ช่อง "แนวนอน"
  2. ลากและวางภาพไปยังสถานที่

-2

สำหรับผมมันทำงานเมื่อฉันลบและเปลี่ยนเป็นไฟล์สตอรี่บอร์ดLaunchScreen.xibLaunchScreen.storyboard

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