Saya bekerja dengan aplikasi React Native dan saya mencoba mengatur layar peluncuran yang disesuaikan tetapi saya tidak bisa.
React Native membuat LaunchScreen.xib secara default, jadi saya telah membuat LaunchImage di dalam Images.xcassets:
Saya juga membaca bahwa saya harus mengubah "File Layar Luncurkan" di bawah "Ikon Aplikasi dan Gambar Luncurkan" di opsi saya:
Setelah saya selesai melakukannya, layar peluncuran saya menjadi benar-benar hitam dan saat aplikasi dimuat, ada bingkai hitam atas dan bawah:
Jadi saya tidak tahu apa yang harus saya lakukan untuk mengatur layar peluncuran saya di proyek React Native saya.
Saya akan berterima kasih jika seseorang dapat membantu saya mengatasi masalah itu.
Terima kasih sebelumnya.
ios
xcode
react-native
asset-catalog
JV Lobo
sumber
sumber
Jawaban:
Saya dapat menyelesaikan masalah ini, dengan bantuan utas ini: Luncurkan Gambar tidak muncul di aplikasi iOS (menggunakan Images.xcassets)
Jadi saya akan menjelaskannya secara mendalam jika itu dapat membantu orang lain.
Pertama , Anda perlu membuat gambar tertentu. Apa yang saya gunakan untuk itu adalah template ini dan halaman web ini dengan generator otomatis: TiCons
Ketika saya mengunduh gambar saya, saya mengambilnya di dalam folder assets / iphone, saya hanya mengambil yang itu:
Anda juga membutuhkan file Contents.json ini di folder yang sama, saya mendapatkannya dari seorang teman:
Jadi, pada titik ini saya membuat folder bernama LaunchImage.launchimage di dalam folder Images.xcassets di proyek React Native saya dan menyimpan gambar dan file Contents.json di dalamnya:
Kedua , Anda harus membuka proyek Anda di Xcode dan dalam pengaturan "Umum", di bawah " Ikon aplikasi dan Gambar Peluncuran " kita harus membiarkan opsi " Luncurkan File Layar " kosong (kita juga dapat menghapus file LaunchScreen.xib di dalam proyek kita ), dan klik " Gunakan Katalog Aset " setelah itu. Sebuah modal akan terbuka, kami memilih untuk Migrasikan Gambar katalog
Sekarang, di pemilih " Launch Images Source ", kita dapat memilih folder yang kita buat sebelumnya, LaunchImage (yang berisi gambar kita):
Kami memilih ini daripada Aset Merek dan kami dapat menghapus folder Aset Merek .
Pada titik ini, kami akan dapat menjalankan aplikasi React Native kami dengan gambar peluncuran khusus kami:
Saya tahu ini tampaknya agak rumit untuk tugas yang seharusnya mudah, tetapi setelah membaca banyak tentangnya, ini adalah satu-satunya cara agar gambar splash saya berfungsi, jadi saya ingin berbagi dengan komunitas.
sumber
Pastikan untuk menghapus aplikasi dari simulator. Kemudian bersihkan proyek Anda.
sumber
Saya telah melihat banyak jawaban ini di SO yang berisi solusi tentang cara membuat layar peluncuran baru. Maksud saya, mari kita pikirkan sebentar.
Saat kita membuat proyek react-native baru, apa yang kita lihat untuk layar peluncuran?
Jadi itu membuat saya berpikir, Bagaimana mereka melakukannya?
Saya pikir pasti ada alasan untuk ini. Jadi saya pergi ke
LaunchScreen.xib
dan membuat perubahan ke teks default "React Native ..." atau apa pun yang dikatakannya. Saya menjalankan aplikasi sekali lagi untuk melihat bahwa layar peluncuran mencerminkan hasil edit saya.Solusi 1 Edit LaunchScreen.xib yang ada
Solusi 2 Buat sendiri
Jadi saya melakukannya, butuh waktu lebih lama untuk mengetik jawaban ini daripada belajar cara membuatnya sendiri.
Both of these solutions are compatible with all the devices.
Menghapus
LaunchScreen.xib
klik klik
images.xcassets
kanan di ruang putih klik**import**
kemudian pilih gambar yang ingin Anda tambahkan.Klik kanan pada folder root proyek Anda dan tambahkan jenis file baru dan beri
Launch Screen
nama apa pun yang Anda inginkan.Klik proyek Anda di navigasi kiri, buka
Settings
>General
dan di bawahApp Icons and Launch Images
. PastikanLaunch Image Source
kosong danLaunch Screen File
namanya sama dengan layar peluncuran yang baru Anda buat.Klik pada file baru yang Anda buat
step 2
, seretImage View
atau edit sesuka Anda.Maka itu, Anda sudah selesai. Anda bahkan tidak perlu membersihkan solusinya, cukup buat kembali.
sumber
Memperbarui
generator-rn-toolbox
sudah ditinggalkan. Gunakan react-native-make sebagai gantinya.Jawaban lama
Saya merekomendasikan generator-rn-toolbox untuk menerapkan layar peluncuran atau ikon utama menggunakan react-native. Ini lebih sederhana dan mudah digunakan melalui cli sebagai react-native.
Persyaratan
Install
npm install -g yo generator-rn-toolbox
brew install imagemagick
Terapkan layar splash di iOS
yo rn-toolbox:assets --splash YOURIMAGE.png --ios
atau Android
yo rn-toolbox:assets --splash YOURIMAGE.png --android
Itu saja. :)
Sumber
sumber
generator-rn-toolbox
aktualitas melakukan semua yang jawaban yang diterima tidak.Baru saja melalui ini dan bekerja dengan baik. Satu-satunya halangan yang saya temukan adalah tidak menghapus konten simulator. Jika Anda menemukan bahwa layar peluncuran baru Anda tidak berfungsi, Anda perlu membuka simulasi dan pergi ke yang berikut:
Simulator> Atur ulang konten dan pengaturan
Pasti ada beberapa cache hardcore yang terjadi di dalam simulator itu tetapi setelah itu selesai - jalankan kembali dan Anda akan melihat aplikasinya. Pastikan Anda melakukan ini untuk kedua simulator xcode dan simulator react-native!
sumber
Pastikan pilihan 'Launch Screen File' kosong:
sumber
Ikuti tautan ini:
Jika Anda ingin menambahkan splash screen ke aplikasi React Native saya, ikuti prosesnya, hasilnya akan menjadi milik Anda sepenuhnya.
LANGKAH: 1 Pertama, saya membuat folder splashImageResource dan menambahkan file launchScreen.xib dengan gambar splash.
LANGKAH: 2 ubah kode seperti yang tertulis di dalam tag subviews. dengan kode ini
<subviews> <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" image="splash.png" translatesAutoresizingMaskIntoConstraints="NO" id="ZkI-RL-69Z"> </imageView> </subviews>
LANGKAH: 3 Anda harus membuka aplikasi Anda di Xcode. Berikut langkah-langkah yang harus diikuti:
a) Buka folder proyek Anda
b) Buka folder ios
c) Buka file yang memiliki ekstensi .xcodeproj, dalam kasus saya itu adalah splasScreenTutorial.xcodeproj
d) Buka file ini di Xcode Anda.
e) Hapus file launchScreen.xib.
f) Klik pada folder splashScreenTutorial, lalu pergi ke bagian TARGET
g) Klik pada Tab Umum di sudut kiri atas Xcode Anda dan gulir ke bawah ke Ikon Aplikasi dan Luncurkan Gambar
h) Buka Luncurkan Sumber Gambar dan klik Gunakan Katalog Aset. Klik bermigrasi.
i) Hapus teks LaunchScreen dari Launch Screen File.
j) Kembali ke folder proyek Anda dan buka file Images.xcassets. Anda harus melihat AppIcon dan LaunchImage.
k) Selanjutnya, klik pada LaunchImage, Terakhir, tarik gambar splash screen yang Anda miliki dengan ukuran berbeda ke kotak Launch Image.
Tarik gambar seperti ini.
Uji Splash Screen a) Untuk melihat perubahan, Anda perlu menghapus aplikasi dari simulator jika Anda telah menjalankan aplikasi pada awalnya.
b) Untuk menghapus aplikasi, klik pada menu Hardware di bilah Simulator Anda dan pergi ke Beranda.
c) Ketuk dan tahan ikon aplikasi tertentu yang ingin Anda hapus, dan klik tanda X pada ikon tersebut.
d) Jalankan aplikasi Anda lagi menggunakan react-native run-ios
Anda dapat melihat Splash Screen Anda
sumber
Bagi saya
XCode 10.1
danreact-native 59.2
saya harus melalui langkah-langkah tambahan setelah menambahkan gambar, storyboard, dan 1 gambar universal.Show in Finder
, lalu editContents.json
file AndaGambar sekarang harus dipusatkan pada semua ukuran iPhone (diuji pada Potret).
sumber
Jika Anda ingin menggunakan file .xib Layar Peluncuran yang ada, React Native yang awalnya telah disiapkan, tetapi dengan logo dan warna latar belakang Anda sendiri (dan tanpa teks default React Native), Anda dapat mengikuti petunjuk di sini: https: // medium.com/@kelleyannerose/react-native-ios-splash-screen-in-xcode-bd53b84430ec .
sumber
Jika Anda membuat layar Peluncuran dengan bantuan React maka Anda harus menambahkan hal yang sama di file LaunchScreen.xib di iOS Xcode sehingga Anda dapat mengambil Screenshot dan menambahkannya sebagai Gambar di Images.xcassets.
Buka LaunchScreen lalu tambahkan UIImageView di View from Object Library dari Right Panel di Xcode.
Tambahkan Batasan Trailing, Leading, Bawah dan Atas ke Tampilan. Seperti Yang Ditunjukkan Di Bawah -
Jangan Lupa untuk mengubah UIImageView ContentMode sebagai AspectFit sehingga akan terlihat sama saat aplikasi berjalan.
Setelah itu Anda perlu menambahkan kode di AppDelegate agar Anda tidak mendapatkan layar putih. Kodenya adalah -
Anda dapat Merujuk - https://facebook.github.io/react-native/docs/running-on-device.html#pro-tip
sumber
Hanya bagi mereka yang masih mengalami masalah, ada satu langkah lagi yang hilang dari jawaban yang diterima sebelum membuat layar Peluncuran iOS berfungsi.
Buka
Info.plist
di folder proyek dan hapus kunci "Main nib file base name". Kemudian, buat kembali dan semoga masalahnya hilang.sumber
Setelah mengikuti solusi di atas, aplikasi saya macet di Layar Splash, jadi saya melakukan 7 langkah berikut untuk menambahkan layar splash khusus di ios.
LaunchScreen.xib
file dalam proyek Anda (Perhatikan bahwa ini adalah layar yang ditampilkan secara default di ios)Sekarang kita harus menambahkan gambar ke
Images.xcassets
sehingga kita bisa mereferensikannyaLaunchScreen.xib
untuk melakukan kebagian ituImages.xcassets
. klik+
tombol diikuti olehimport
dan kemudian tambahkan gambar yang ingin Anda tampilkan di layar splash. Di bawahAppIcon
Anda akan melihat nama file gambar Anda. Ini adalah nama yang akan kami gunakan untuk referensi diLaunchScreen.xib
Sekarang kita harus mereferensikan gambar yang kita tambahkan dalam
LaunchScreen.xib
file jadi arahkan kembali keLaunchScreen.xib
dan klikimage view
yang kita tambahkan sebelumnya dan di sudut kanan Anda akan melihat banyak pilihan. klik yang pertama yang mengatakanimage
dan pilih gambar yang Anda impor pada langkah 5react-native run-ios
dan Anda akan melihat perubahannya.sumber
Anda harus menyetel sumber gambar layar peluncuran sebagai gambar Anda. Setelah itu hapus file LauncScreen.xib. Setelah itu lakukan pencarian global dalam proyek Anda dan hapus semua referensi ke LaunchScreen.xib (lihat di seluruh proyek Anda. Saya menggunakan editor teks sublime jadi cmd + shift + f) dan seharusnya berfungsi.
sumber