ติดตั้งแอปบน iPhone 6 iOS9 แล้วนี่คือสิ่งที่เกิดขึ้น สังเกตแถบสีดำด้านบนและด้านล่าง ใช้งานได้ดีบน iOS8 ฉันจะแก้ไขได้อย่างไร?
ฉันได้ลองสร้างด้วย Xcode 6.4 & 7 ผลลัพธ์เดียวกัน
(iPhone 5 เคยรันแอพ iPhone 4 แบบนี้)
ติดตั้งแอปบน iPhone 6 iOS9 แล้วนี่คือสิ่งที่เกิดขึ้น สังเกตแถบสีดำด้านบนและด้านล่าง ใช้งานได้ดีบน iOS8 ฉันจะแก้ไขได้อย่างไร?
ฉันได้ลองสร้างด้วย Xcode 6.4 & 7 ผลลัพธ์เดียวกัน
(iPhone 5 เคยรันแอพ iPhone 4 แบบนี้)
คำตอบ:
คุณย้ายแอปของคุณจาก Xcode เวอร์ชันก่อนหน้าหรือไม่ ถ้าเป็นเช่นนั้น Xcode กำลังตั้งสมมติฐานเกี่ยวกับขนาดหน้าจอของคุณและคุณต้องการวิธีระบุขนาดหน้าจอจริงในขณะทำงาน
มีสองวิธี:
ก) หากคุณใช้หน้าจอเริ่มต้น
คุณไม่มีไฟล์ LaunchScreen.storyboard สร้างไฟล์ LaunchScreen.storyboard และเพิ่มลงในโครงการของคุณ
b) หากคุณไม่ใช้หน้าจอเริ่มต้น
ไปที่การตั้งค่าเป้าหมายของคุณแล้วเลือกทั่วไปจากนั้นเลือกไอคอนแอพและเปิดรูปภาพ ตั้งค่า "Launch Screen File" เป็น "main.storyboard" ของคุณ (หรือสตอรีบอร์ดอื่นตามความเหมาะสม)
แอพของฉันไม่ใช้รูปภาพเปิดตัว การตั้งค่า "Launch Screen File" เป็นไฟล์ "main.storyboard" ของฉันช่วยแก้ปัญหาให้ฉันได้
การตั้งค่านี้สามารถพบได้ใน "Target-> General-> App Icons and Launch Images"
ใช้ลิงค์ต่อไปนี้สำหรับข้อมูลเพิ่มเติม: http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/
ฉันใช้ xcode 7.2 ตอนแรกฉันสร้างไฟล์ LaunchScreen.storyboard ตามที่Potassium Permanganate แนะนำและมันก็ใช้ได้! อย่างไรก็ตามฉันไม่ต้องการหน้าจอเปิดใช้งานดังนั้นฉันจึงลองตั้งค่า Main.storyboard เป็น Launch Screen File และมันก็ทำตามเคล็ดลับ!
เมื่อคุณย้ายแอปของคุณจาก xCode เวอร์ชันก่อนหน้าไปเป็น xCode 6 หรือ xCode 7 คุณจะประสบปัญหานี้
สำหรับ iOS 7 และรุ่นก่อนหน้านักพัฒนาจำเป็นต้องจัดเตรียมภาพเปิดตัวแยกกันสำหรับทุกขนาดหน้าจอความละเอียดและการวางแนวที่แอปรองรับ
ใน Xcode 6 หรือใหม่กว่ามีตัวเลือกอื่น คุณสามารถระบุสตอรีบอร์ดซึ่งตัวควบคุมมุมมองเริ่มต้นจะถูกใช้เป็นหน้าจอเริ่มต้นของแอป ใช้ขั้นตอนด้านล่าง:
สร้างไฟล์สตอรี่บอร์ดเปล่าชื่อ LaunchScreen.storyboard
ไปที่การตั้งค่าเป้าหมายของคุณและบนแท็บ "ทั่วไป" เลือกสตอรีบอร์ดเป็นไฟล์หน้าจอเริ่มต้นของคุณในส่วน "ไอคอนแอปและเปิดตัวรูปภาพ" Xcode จะเพิ่มคีย์ UILaunchStoryboardName ที่เกี่ยวข้องลงใน Info.plist ของแอปของคุณ เมื่อมีคีย์นี้ Xcode จะจัดลำดับความสำคัญให้กับภาพเปิดตัวใด ๆ ที่คุณอาจตั้งไว้
ลบแอพรุ่นเก่าออกจากโปรแกรมจำลองและล้างโปรเจ็กต์
ไชโย :-)
ฉันมีปัญหาเดียวกันในแอปของฉัน ในแอพของฉันฉันมีหลายเป้าหมายที่เพิ่มในโปรเจ็กต์ หากฉันใช้โซลูชันการเปิดตัวสตอรี่บอร์ดฉันจะเห็นแบบเต็มหน้าจอ แต่ในกรณีของฉันภาพอาหารกลางวันของฉันดูเบลอและยืดออกบน iPhone 4 เพื่อออกมาจากปัญหานี้ฉันได้ใช้โซลูชันสินทรัพย์ LaunchImage หลังจากนี้ฉันก็ยังคงประสบปัญหาเดียวกันฉันได้ลองวิธีแก้ปัญหาข้างต้นทั้งหมดในตอนท้ายฉันพบว่าภาพ png ของฉันไม่มีความละเอียดALPHA หลังจากเพิ่มภาพใหม่ฉันสามารถดูภาพเต็มหน้าจอได้
อันนี้คือถ้าคุณไม่ใช้สตอรี่บอร์ดเลย
มันเกิดขึ้นเมื่อคุณเอาLaunchScreen
จากใน
Launch Screen File
App icons and Launch Images
แทนที่จะลบออกจากที่นี่ให้ไปที่ info.plist และค้นหาLaunch screen interface file base name
และลบLaunchScreen
เช่นปล่อยให้ว่างไว้
มันเป็นนิสัยแสดงใน info.plist ถ้าคุณได้ลบแล้วจากLaunchScreen
Launch Screen File
จากนั้นคุณสามารถตั้งชื่ออะไรก็ได้และชื่อLaunch Screen File
นั้นจะปรากฏขึ้นและคุณสามารถลบชื่อออกได้
ไปที่แคตตาล็อกเนื้อหาและสร้างอิมเมจการเปิดตัว iOS ใหม่ จากนั้นในTarget> General> App Icons และ Launch Images> Launch Image Sourceคุณจะเห็น Launch Image ใหม่ที่สร้างขึ้นในแค็ตตาล็อกเนื้อหาโดยอัตโนมัติ
ในกรณีของฉันฉันมีหลายเป้าหมายในโครงการและแต่ละเป้าหมายมีภาพหน้าจอเริ่มต้นของตัวเอง สิ่งที่น่าประหลาดคือหนึ่งในเป้าหมายดูดี แต่คนอื่นมีแถบสีดำเหล่านั้น สิ่งนี้อยู่ในชื่อของโฟลเดอร์ Launch ภายในเนื้อหา เปลี่ยนชื่อเป็น LaunchImage ช่วยแก้ปัญหาได้
ในกรณีของฉันฉันมีเนื้อหาหนึ่งรายการที่มีภาพเปิดตัว แต่มันแสดงแถบมืดด้านบนและด้านล่างด้วย
ฉันได้ลองใช้โซลูชันการเปิดตัวสตอรี่บอร์ดแล้วและใช่มันใช้งานได้ แต่ฉันไม่ต้องการเพิ่มไฟล์ใหม่นี่คือสิ่งที่ฉันทำเพื่อแก้ไขปัญหา:
แค่นั้นแหละ!
ไปที่การตั้งค่าเป้าหมายใน xcode ในส่วนนั้นไปที่ไอคอนแอพและเปิดส่วนรูปภาพในส่วนนั้นเลือกไฟล์หน้าจอเปิดคุณจะพบรายการแบบหล่นลงของค่าเลือกค่า CDVLaunchScreeen เทียบกับค่าไฟล์หน้าจอเปิด
ฉันมีปัญหาคล้ายกันใน iPod เพื่อแก้ไขปัญหานี้ฉันเปลี่ยน
<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>
กับ
<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>
<key>UILaunchStoryboardName~ipod</key>
<string>LaunchScreenIphone</string>
ใน Info.plist
อย่าทำอะไรที่อธิบายไว้ในคำตอบก่อนหน้านี้ ...
ในการแสดงมุมมองคอนโทรลเลอร์ให้ทำตามขั้นตอนเดียวต่อไปนี้
Step 1 : Add the splash Screen for iPhone and iPad.
หลังจากนี้ข้อผิดพลาดนี้จะไม่เกิดขึ้นอีก