Bagaimana cara mengaktifkan resolusi asli untuk aplikasi di iPhone 6 dan 6 Plus?

194

Xcode 6 GM sekarang termasuk simulator untuk iPhone 6 dan 6 Plus, dan secara default mereka menjalankan aplikasi dalam mode skala.

Untuk mengaktifkan ukuran layar baru saya mencoba menambahkan [email protected]yang tampaknya melakukan bagian dari trik karena aplikasi sekarang gagal untuk berjalan sama sekali, dengan kesalahan "Tidak dapat menjalankan aplikasi di Simulator - Terjadi kesalahan saat menjalankan (Domain = LaunchServicesError, Kode = 0) ".

Adakah yang tahu bagaimana cara menjalankan aplikasi pada resolusi 6/6+?

villapossu
sumber
16
Seperti yang orang lain katakan, triknya adalah menambahkan gambar peluncuran dengan ukuran yang tepat ke proyek Anda. Saya menulis panduan singkat tentang cara menambahkan gambar peluncuran sehingga Anda dapat menampilkan resolusi iPhone 6 di sini.
matthewpalmer
1
ini bekerja untuk saya stackoverflow.com/questions/25755443/…
johndpope
2
Penamaan gambar berbeda untuk iphone 6/6+. Bagi saya hanya menambahkan gambar peluncuran untuk 6 dan 6+ bekerja dengan sempurna. Lihatlah jawaban ini untuk konvensi penamaan yang benar: stackoverflow.com/a/27473877/1568532
fellowworldcitizen
Apakah ada alternatif selain menggunakan LaunchScreen?
Vaibhav Jhaveri

Jawaban:

220

Anda dapat menambahkan file layar peluncuran yang tampaknya berfungsi untuk beberapa ukuran layar. Saya baru saja menambahkan MainStoryboard sebagai file layar peluncuran dan itu menghentikan penskalaan aplikasi. Saya pikir saya perlu menambahkan layar peluncuran permanen nanti, tetapi itu membuat resolusi asli dan bekerja dengan cepat. Di Xcode, buka target Anda, umum dan tambahkan file layar peluncuran di sana.

Luncurkan File Layar

David L.
sumber
2
Ini mungkin solusi terbaik jika Anda menggunakan storyboard tunggal yang menangani semua perangkat. Jawaban saya sesuai jika Anda tidak menggunakan storyboard tunggal atau Anda perlu gambar peluncuran terpisah yang eksplisit.
rmaddy
Saya perlu menetapkan gambar peluncuran eksplisit untuk iPhone 6 dan 6 Plus, apakah ada konvensi penamaan jika saya tidak ingin menggunakan katalog aset?
Radif Sharafullin
@Radif Sharafullin Ada beberapa instruksi di sini tentang cara memberi nama gambar peluncuran: developer.apple.com/library/prerelease/ios/documentation/iPhone/… . Gulir sampai ke bawah untuk membuka pola penamaan gambar.
David L
6
Ingatlah bahwa setelah Anda bermigrasi LaunchImage, iOS tidak akan lagi meregangkan aplikasi iPhone-5 Anda ke iPhone-6 (dan 6+). Yang dapat merusak UI Aplikasi Anda jika Anda membuat tampilan dengan ukuran absolut seperti lebar 320px dan tidak menggunakan ukuran relatif menggunakan pembayaran otomatis.
atulkhatri
1
@ bobo2000 desain responsif.
mattsven
116

Jika Anda menggunakan katalog aset, buka katalog aset LaunchImages dan tambahkan gambar peluncuran baru untuk dua iPhone baru. Anda mungkin perlu mengklik kanan dan memilih "Tambahkan Gambar Luncurkan Baru" untuk melihat tempat untuk menambahkan gambar baru.

IPhone 6 (Retina HD 4.7) membutuhkan gambar peluncuran potret 750 x 1334.

IPhone 6 Plus (Retina HD 5.5) membutuhkan gambar potret dan lansekap masing-masing berukuran masing-masing 1242 x 2208 dan 2208 x 1242.

rmaddy
sumber
2
Seandainya saya bisa memilih dua jawaban yang benar karena ini tampaknya sangat benar. Belum mulai menggunakan katalog aset (well, hanya mencoba gagal untuk mengadopsi satu - entah bagaimana aplikasi tidak menemukan gambar peluncuran di sana) tetapi menetapkan file layar peluncuran adalah perbaikan yang mudah di sini.
villapossu
Seharusnya dimungkinkan untuk menambahkan gambar peluncuran yang tepat tanpa menggunakan katalog aset. Tapi saya tidak tahu bagaimana referensi mereka di Info.plist.
rmaddy
Apakah saya harus benar-benar menambahkan gambar? Saya menyalakan ini dan masih scaling.
Epic Byte
Ya, Anda harus benar-benar menambahkan gambar (atau menggunakan "Luncurkan File Layar" baru (tapi itu hanya untuk iOS 8).
rmaddy
1
@trumpetlicks The plus merender untuk target yang lebih besar dan kemudian menurunkan render ke ukuran layar aktual, teknik yang sama seperti retina MacBook Pro. Plus, Plus dapat benar-benar meluncurkan aplikasi dalam lanskap, tidak ada iPhone lain
hokiewalrus
104

Saya telah membuat layar peluncuran dasar hitam yang akan membuat skala aplikasi dengan benar di iPhone 6 dan iPhone 6+:

Potret iPhone 6

Potret iPhone 6 Plus

Jika Anda sudah memiliki LaunchImage di .xcassett Anda, buka, beralih ke tab ketiga di menu kanan dalam Xcode dan centang gambar iPhone iOS 8.0 untuk menambahkannya ke set yang ada. Kemudian seret gambar ke atas:

masukkan deskripsi gambar di sini

A.Badger
sumber
52

Saya tidak ingin memperkenalkan katalog aset.

Per jawaban dari seahorseseaeo di sini , menambahkan yang berikut ke info.plist bekerja untuk saya. (Saya mengeditnya sebagai "kode sumber".) Saya kemudian menamai gambar [email protected] dan [email protected]

<key>UILaunchImages</key>
<array>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-667h</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{375, 667}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-736h</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{414, 736}</string>
    </dict>
</array>
William Jockusch
sumber
Jawaban ini bagus. Memungkinkan menggunakan gambar dengan mudah untuk beralih dari layar splash ke aplikasi. Tidak ada solusi lain (katalog aset atau papan cerita) yang memungkinkan ini dilakukan dengan mudah.
jjxtra
7
Berfungsi untuk saya (terima kasih!) Tetapi berhenti mengenali gambar peluncuran 568h @ 2x, menonaktifkan dukungan ukuran iphone 5. Saya hanya perlu menambahkan item lain yang mirip dengan dua di atas tetapi menentukan 568j. (khusus ladang: Default-568h, {320, 568})
Steph Thirion
Hal yang sama berlaku untuk iPhone 4S.
Josh Bernfeld
1
baru saja membuat pengalaman (pada simulator) bahwa file gambar yang ditentukan bahkan tidak perlu ada.
glasz
Saya memiliki masalah dengan teknik ini pada iPhone 6: pertama-tama layar awal [email protected] ditampilkan, kemudian secara singkat menampilkan Default-Portrait@2x~iphone.png. Ada ide?
Samuel
21

Perhatikan bahwa iPhone 6 akan menggunakan resolusi 320pt (640px) jika Anda telah mengaktifkan 'Tampilan Zoom' di iPhone> Pengaturan> Tampilan & Kecerahan> Lihat.

tomi44g
sumber
Saya berharap ini lebih baik didokumentasikan!
bobo2000
Anda baru saja menyelamatkan hari saya. Saya mencoba semua solusi lain tetapi masalah saya hanya bahwa perangkat dalam mode Zoomed.
MessuKilkain
8

Lakukan yang berikut (lihat di foto)

  1. Katalog aset
  2. klik kanan dan pilih "Tambahkan Gambar Peluncuran Baru"

    • iPhone 6 -> 750 x 1334
    • iPhone 6 Plus -> 1242 x 2208 dan 2208 x 1242

masukkan deskripsi gambar di sini

Umar Farooq
sumber
3

Terjadi kesalahan saat menjalankan (Domain = LaunchServicesError, Code = 0)

Biasanya ini menunjukkan bahwa installd mengembalikan kesalahan selama proses instalasi (sumber daya buruk atau serupa).

Sayangnya, Xcode tidak menampilkan kesalahan mendasar yang sebenarnya (jangan ragu untuk mengajukan dupes bug yang diketahui ini).

Anda harus memeriksa ~ / Library / Logs / CoreSimulator / CoreSimulator.log yang akan mencatat kesalahan yang mendasarinya untuk Anda.

Jeremy Huddleston Sequoia
sumber
Terima kasih! Tidak mengetahui wawasan ekstra ini tentang akar penyebab kesalahan. Catatan terperinci tidak mengatakan banyak hal kepada saya, tetapi setidaknya saya memiliki sesuatu untuk dilampirkan ke pengarsipan radar saya.
villapossu
0

Jika Anda menggunakan katalog aset, dan memiliki beberapa target, keduanya menggunakan file katalog aset yang sama, pastikan bahwa file ini telah memeriksa kedua target di panel kanan dalam xcode.

Itu masalah saya.

masukkan deskripsi gambar di sini

suam
sumber