Ionic-framework: bug: Luncurkan freeze/crash pada persembunyian layar splash manual

Dibuat pada 3 Feb 2016  ·  79Komentar  ·  Sumber: ionic-team/ionic-framework

Jenis : bug

Versi Ionik : 1.x

Platform : tampilan web ios 9

Mengalami masalah yang agak kritis sejak menggunakan Cordova 6.0.0 untuk iOS. Masalahnya adalah cukup sering selama peluncuran aplikasi hanya tetap berada di layar splash alih-alih melanjutkan setelah menyembunyikannya, dan akhirnya macet.

Beberapa pengujian menunjukkan dengan kepastian yang baik bahwa:

  • Cordova 5.4.1 tidak menunjukkan masalah.
  • Menghapus perangkat cordova-plugin dari aplikasi pengujian membuat masalah hilang.
  • Saya tidak dapat mereproduksi dalam aplikasi Cordova murni (tanpa Ionic & Angular).
  • Jika pembekuan tidak terjadi, coba matikan aplikasi dan mulai lagi - pada satu atau lain upaya itu akan berhenti.
  • Android tidak masalah.
  • Pengalaman di simulator dan perangkat, dan iOS 8.4.x dan 9.x.
  • Log konsol/sistem tampaknya tidak menampilkan sesuatu yang berguna atau relevan.

Gunakan cordova-plugin-splashscreen dari cabang master Github terbaru karena versi "stabil" terbarunya 3.1.0 memiliki bug yang terkait dengan parameter config.xml AutoHideSplashScreen.

Ini mungkin hanya bug inti atau plugin Cordova murni tetapi seperti yang dikatakan - sejauh ini saya belum dapat memicunya dengan aplikasi yang tidak menggunakan Ionic.

Informasi sistem saya:

Cordova CLI: 6.0.0
Versi tegukan: CLI versi 3.9.0
Teguk lokal:
Versi Ionik: 1.2.4
Versi CLI Ionik: 1.7.14
Versi Lib Aplikasi Ionic: 0.7.0
versi penyebaran ios: 1.8.4
versi ios-sim: 5.0.6
OS: Mac OS X El Capitan
Versi Node: v4.2.4
Versi Xcode: Xcode 7.2.1 Versi build 7C1002

cordova-ios 4.0.1

Komentar yang paling membantu

@pke saya menggunakan cordova 6.0.0 dan [email protected].

Anda harus menghapus platform ios terlebih dahulu, lalu menambahkannya kembali ke versi 4.1.0

platform ion menghapus ios
platform ionik tambahkan [email protected]

Semua 79 komentar

Unduh aplikasi demo di sini: http://1drv.ms/20rf9fu

  • Pastikan Anda telah menginstal Cordova 6.0.0
  • Jalankan platform ionik tambahkan ios
  • Jalankan ionic emulate ios

Mulai aplikasi dan lihat layar splash tidak hilang saat seharusnya. Jika tidak hilang, matikan aplikasi dan mulai lagi. Ulangi sampai direproduksi.

@mhartington Tolong minta seseorang melihat ini setidaknya untuk mereproduksi dan menyelesaikan kasusnya. Saya juga akan menulis di milis Cordova Dev.

Seperti yang dikatakan, secara pribadi saya tidak dapat mereproduksi tanpa Ionic. Tapi mungkin seseorang akan melakukannya. Dalam kasus seperti itu, kita dapat menutup kasing di sini dan memindahkannya ke Jira Cordova.

coba dengan versi terbaru dari plugin splash di github yang telah memperbaiki masalah AutoHideSplashScreen

@jcesarmobile saya tahu. Namun masalah ini terjadi dengan versi plugin dari master terbaru. Lihat config.xml di aplikasi demo (ionicSplash.zip).

cc @daserge

Ok jadi saya sudah bisa meniru ini tapi itu sangat hit dan miss. Saya melihatnya sekali, matikan prosesnya, dan berfungsi dengan baik lagi. Tapi saya belum bisa menentukan penyebab pastinya

@mhartington Jika Anda mengkloning https://github.com/rossholdway/ionic-ios-cordova-bug dan menjalankannya pada perangkat yang sebenarnya, 'pembekuan' sering terjadi. (memboot sudut secara manual tampaknya banyak menyebabkannya, mungkin semacam kondisi balapan).

Sekarang periksa ini Mike: Hapus plugin perangkat dari konfigurasi, lalu status ionik jelas, platform ionik tambahkan ios dan ios emulasi ios. Saya berusaha sangat keras untuk mereproduksi dalam kasus seperti itu tetapi masalahnya anehnya menghilang.

Maksud saya, coba dengan versi terbaru dari plugin splash di github yang memiliki masalah AutoHideSplashScreen diperbaiki, karena mungkin masalah Anda juga telah diperbaiki, hanya untuk mengonfirmasi.

@jcesarmobile Saya menarik plugin langsung dari github dan dapat melihatnya

@jcesarmobile tidak yakin bagaimana membuat diri saya lebih jelas. Saya menggunakan versi terbaru dari master, bukan 3.1.0.

Oke jadi beberapa informasi pembaruan
Jadi ketika splashscreen gagal, itu masih logout Calling navigator.splashscreen.hide .

Masih sangat hit and miss, tapi ini memang terlihat seperti kondisi balapan

@zarko-tg dan @rossholdway , dapatkah Anda mencobanya di demo kami?

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    console.log('Calling splashscreen hide');
  }).then(function(){
    navigator.splashscreen.hide();
  });
})

@mhartington benar. Selain itu, jika Anda membungkus panggilan _hide_ misalnya dengan setTimeout beberapa detik, masalahnya akan hilang. Dengan demikian saya mencurigai beberapa kondisi balapan di Cordova, Ionic/Angular atau dalam kaitannya satu sama lain. Aku kesulitan menggaruk kepalaku hari ini.
Pemblokir untuk pindah ke Cordova 6.0.0 dalam kasus kami.

@mhartington hal pertama besok. Saya masih menggunakan Windows di rumah untuk beberapa alasan.

Ada beberapa solusi saat ini, seperti memindahkan panggilan splashscreen.hide ke .then , yang akan menunggu hingga janji diselesaikan. Akan melihat ini besok

Saya tidak yakin masalah saya #5318 terkait dengan layar splash... Aplikasi ini terkadang membeku untuk saya sebelum console.log dapat menampilkan apa pun.

Hai kawan,
Menyelidiki masalah ini - memang repro hanya pada Cordova 6.0.0 + [email protected].
Itu sebenarnya repro dengan [email protected] juga setelah memperbaiki jalur gambar AssetCatalog:

    // Add Asset Catalog specific prefixes
    if ([imageName isEqualToString:@"LaunchImage"])
    {
        if (device.iPhone4 || device.iPhone5 || device.iPad) {
            imageName = [imageName stringByAppendingString:@"-700"];
        } else if(device.iPhone6) {
            imageName = [imageName stringByAppendingString:@"-800"];
        } else if(device.iPhone6Plus) {
            imageName = [imageName stringByAppendingString:@"-800"];
            if (currentOrientation == UIInterfaceOrientationPortrait || currentOrientation == UIInterfaceOrientationPortraitUpsideDown)
            {
                imageName = [imageName stringByAppendingString:@"-Portrait"];
            }
        }
    }

Jika tidak, layar splash bahkan tidak akan ditampilkan karena gambar tidak dapat ditemukan:
WARNING: The splashscreen image named LaunchImage-736h was not found

@mhartington membuat panggilan ke navigator.splashscreen.hide setelah $ionicPlatform.ready diselesaikan tidak membuat perbedaan besar karena masih memungkinkan untuk direproduksi. Namun, misteri itu semakin dalam setelah beberapa pengujian lagi dengan kode berikut:

.run(function($ionicPlatform) {
  var t = performance.now();
  console.log('Calling $ionicPlatform.ready');

  $ionicPlatform.ready(function() {
    console.log('$ionicPlatform.ready took ' + (performance.now() - t) + ' ms.');
    t = performance.now();
  }).then(function() {
    console.log(
      '$ionicPlatform.ready resolve took ' + (performance.now() - t) + ' ms. '
        + 'Calling navigator.splashscreen.hide'
    );
    navigator.splashscreen.hide();
    console.log('navigator.splashscreen.hide called');
  });
})

ketika dijalankan di iPhone 6 saya (dengan iOS 9.3 13E5191d).

Berikut beberapa keluaran log yang diambil menggunakan _idevicesyslog | grep ionicSplash_:

09:50:13 ... [8032] <Warning>: Apache Cordova native platform version 4.0.1 is starting.
09:50:13 ... [8032] <Warning>: Multi-tasking -> Device: YES, App: YES
09:50:13 ... [8032] <Warning>: Using UIWebView
09:50:14 ... [8032] <Warning>: [CDVTimer][handleopenurl] 0.186980ms
09:50:14 ... [8032] <Warning>: Unlimited access to network resources
09:50:14 ... [8032] <Warning>: [CDVTimer][intentandnavigationfilter] 2.368987ms
09:50:14 ... [8032] <Warning>: [CDVTimer][gesturehandler] 0.154018ms
09:50:14 ... [8032] <Warning>: [CDVTimer][splashscreen] 40.008008ms
09:50:14 ... [8032] <Warning>: [CDVTimer][TotalPluginStartup] 43.819964ms
09:50:14 ... [8032] <Warning>: Resetting plugins due to page load.
09:50:14 ... [8032] <Error>: Ring Logging is disabled
09:50:14 ... [8032] <Warning>: Finished load of: file:///var/containers/Bundle/Application/4DFB0B3A-EB6A-4E07-A0BD-659487998B37/.app/www/index.html#/tab/dash
09:50:14 ... [8032] <Warning>: $ionicPlatform.ready took 347.33000000000004 ms.
09:50:14 ... [8032] <Warning>: $ionicPlatform.ready resolve took 17.029999999999973 ms. Calling navigator.splashscreen.hide
09:50:14 ... [8032] <Warning>: navigator.splashscreen.hide called
09:50:41 ... [8033] <Warning>: Apache Cordova native platform version 4.0.1 is starting.
09:50:41 ... [8033] <Warning>: Multi-tasking -> Device: YES, App: YES
09:50:41 ... [8033] <Warning>: Using UIWebView
09:50:41 ... [8033] <Warning>: [CDVTimer][handleopenurl] 0.126004ms
09:50:41 ... [8033] <Warning>: Unlimited access to network resources
09:50:41 ... [8033] <Warning>: [CDVTimer][intentandnavigationfilter] 2.272010ms
09:50:41 ... [8033] <Warning>: [CDVTimer][gesturehandler] 0.154972ms
09:50:41 ... [8033] <Warning>: [CDVTimer][splashscreen] 40.107012ms
09:50:41 ... [8033] <Warning>: [CDVTimer][TotalPluginStartup] 43.406010ms
09:50:41 ... [8033] <Warning>: Resetting plugins due to page load.
09:50:41 ... [8033] <Error>: Ring Logging is disabled
09:50:42 ... [8033] <Warning>: Finished load of: file:///var/containers/Bundle/Application/4DFB0B3A-EB6A-4E07-A0BD-659487998B37/.app/www/index.html#/tab/dash

Seperti yang Anda lihat, upaya pertama hingga 09:50:41 berjalan dengan baik. (Sementara itu saya mematikan aplikasi dan memulainya lagi pada 09:50:41). Jika log dapat dipercaya, bahkan panggilan balik dari Angular's run tidak akan dieksekusi.

Dan inilah bagian yang menyenangkan - saya memutuskan untuk menyetel AutoHideSplashScreen menjadi true dan mengomentari _navigator.splashscreen.hide();_ dalam kode di atas. Pada beberapa upaya setelah mematikan aplikasi dan memulainya, layar spash akan disembunyikan secara otomatis seperti yang diharapkan tetapi aplikasi (UI) akan menjadi tidak responsif dan akhirnya macet. Sekali lagi, logger tidak menunjukkan bahwa ada yang dieksekusi dalam panggilan balik metode run Angular.

Jadi @rossholdway bisa jadi benar.

Pembaruan: itu repro pada 5.4 juga.
Hang terjadi ketika Plugin Perangkat dan plugin SplashScreen keduanya diinstal (hanya splashscreen yang berfungsi serta hanya perangkat).
https://issues.Apache.org/jira/browse/CB-10530 - Saya pikir itu bisa disebabkan oleh panggilan rekursif tak terbatas dalam metode plugin splahscreen swizzling - tetapi bukan itu masalahnya.

Apa yang baru saya temukan adalah masalah terjadi saat menggunakan mesin cordova-ios 4.0.1 tetapi tidak saat menggunakan 3.9.2. Perhatikan bahwa dalam kedua kasus saya menggunakan cordova 6.0.0 CLI.
Saya menduga akar penyebab atau pemicu masalah ini terletak pada perubahan yang dilakukan antara 3.9.2 dan 4.0.x dari cordova-ios.

@zarko-tg Saya juga dapat mengonfirmasi bahwa masalah hanya terjadi dengan Cordova iOS 4.0.0 dan 4.0.1.

cc @shazron

Adakah yang bisa mereplikasi ini dengan menggunakan ionik atau sudut?

Ini mereproduksi pada ionic@latest tetapi tidak pada aplikasi cordova kosong.

Menjaga semua orang memperbarui. Menghabiskan sepanjang pagi mencoba men-debug ini. Tampaknya menjadi kondisi balapan di tingkat asli sejauh ini. Saat ini saya telah menemukan

hanya layar splash - semuanya bagus
hanya perangkat - semuanya bagus
layar splash + perangkat - tekan dan lewatkan tetapi perangkat siap rusak

Tampaknya bola ada di halaman Cordova. Saya sarankan kasus ini berlanjut di https://issues.Apache.org/jira/browse/CB-10530.

Pengembang ionik dapat membuka kembali utas ini jika perlu.

Memperbarui


Kasus sekarang harus ditutup oleh orang-orang baik dari Apache Cordova.
Rilis cordova-ios 4.1.0 mengatasi masalah seperti yang dinyatakan di sini: http://cordova.Apache.org/announcements/2016/03/02/ios-4.1.0.html

Saya mengunduh 4.1.0 dan masih mendapatkan kesalahan yang sama. Saya memiliki jadwal yang sangat ketat di sini sehingga bantuan apa pun akan sangat membantu.

Masalah ini tidak terpecahkan. Saya ingin tahu apa yang mungkin dilakukan plugin perangkat yang menyebabkan kebuntuan. Seharusnya tidak melakukan apa pun sebelum diminta oleh pengembang aplikasi. Plugin yang aneh.

Saya telah memecahkan masalah ini dengan melakukan uninstall lengkap node (versi 5.x) dan menginstal ulang versi stabil terakhir dari nodejs (versi 4.4.x).
Sebagai catatan, saya membuatnya bekerja dengan cordova versi 6.0.0 dan ionic v 1.7.x di mac osx
Berharap membantu seseorang.

Memiliki masalah yang sama, aplikasi saya harus dirilis secepatnya. Perlu untuk memecahkan masalah ini. Terima kasih jika ada yang bisa membantu! Saya menggunakan ionik. Saya memperbarui semua versi terbaru (baik cordova dan ionic)

Saya memecahkan ini dengan mengubah platform ios cordova saya dari 4.0.1 menjadi 3.8. Tidak
membantu selain ini.

19 Mart 2016 Cumartesi tarihinde, Emmy Chen [email protected]
yazd:

Memiliki masalah yang sama, aplikasi saya harus dirilis secepatnya. Perlu untuk menyelesaikan ini
isu. Terima kasih jika ada yang bisa membantu!


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung atau lihat di GitHub
https://github.com/driftyco/ionic/issues/5324#issuecomment -198750676

Ini harus diperbaiki di Cordova-iOS 4.1.

platform ionik tambahkan [email protected]

@mhartington bukan. Pelakunya adalah plugin perangkat. Saya tidak menggunakan splashscreen yang tidak berguna di sini.

@mhartington Terima kasih. Saya memperbarui ke [email protected] Saya masih menguji aplikasi saya. Saya akan memberi tahu Anda jika masalah pembekuan hilang atau tidak.

Masalah ini tampaknya terpecahkan setelah memutakhirkan ke [email protected].

Ya. Saya belum menemukan aplikasi saya membeku setelah memutakhirkan ke [email protected]. Itu hebat!

hai @martinezleoml Saya memiliki masalah yang sama, aplikasi saya berjalan di Android tanpa masalah tetapi pada ios itu membeku di layar splash ion, saya telah membaca posting yang mengatakan bahwa 4.1.0 akan menyelesaikan masalah ini, tetapi saya baru saja memperbarui dan saya dapatkan masalah yang sama, sepertinya ion tidak mendapatkan pemicu. Setiap bantuan bagaimana memecahkan masalah ini.

2016-03-21 17:58:23.586 AdminApp[334:24810] DiskCookieStorage changing policy from 2 to 0,     cookie file: file:///private/var/mobile/Containers/Data/Application/8ACD937F-ECC1-42BF-A830-    D694662748D1/Library/Cookies/Cookies.binarycookies
2016-03-21 17:58:23.721 AdminApp[334:24810] Apache Cordova native platform version 4.1.0 is starting.
2016-03-21 17:58:23.722 AdminApp[334:24810] Multi-tasking -> Device: YES, App: YES
2016-03-21 17:58:23.856 AdminApp[334:24810] Using UIWebView
2016-03-21 17:58:23.861 AdminApp[334:24810] [CDVTimer][handleopenurl] 0.283003ms
2016-03-21 17:58:23.863 AdminApp[334:24810] [CDVTimer][intentandnavigationfilter] 2.087951ms
2016-03-21 17:58:23.864 AdminApp[334:24810] [CDVTimer][gesturehandler] 0.132024ms
2016-03-21 17:58:23.890 AdminApp[334:24810] [CDVTimer][splashscreen] 26.520014ms
2016-03-21 17:58:23.917 AdminApp[334:24810] [CDVTimer][localstorage] 26.280999ms
2016-03-21 17:58:23.917 AdminApp[334:24810] [CDVTimer][TotalPluginStartup] 56.608021ms
2016-03-21 17:58:24.232 AdminApp[334:24810] Resetting plugins due to page load.
2016-03-21 17:58:24.822 AdminApp[334:24810] Finished load of: file:///var/mobile/Containers/Bundle/Application/505434F3-D1B1-4344-9426-F990E82D61E4/AdminApp.app/www/index.html

@cesar-oyarzun-m Anda perlu memperbarui cordova-ios Anda ke 4.1.0 . Masalah telah diperbaiki di sana.

@emmychen Saya memperbarui Cordova iOS, saya memposting log konsol tetapi saya masih memiliki masalah yang sama, mungkin sesuatu yang lain, apakah Anda memiliki contoh proyek?

@emmychen Anda melihat bahwa @cesar-oyarzun-m menulis dia baru saja memperbarui ke 4.1.0 dan masalahnya tidak terpecahkan. Saya melaporkan beberapa posting yang sama sebelumnya.

Saya menguji pada Xcode 7.2 , ionic v1.7.14 , cordova 6.0.0, simulator ipad air 9.2. Ini daftar plugin saya

com.scala.BeaconController 0.0.1 "BeaconController"
cordova-plugin-console 1.0.2 "Console"
cordova-plugin-device 1.1.1 "Device"
cordova-plugin-geolocation 2.1.0 "Geolocation"
cordova-plugin-inappbrowser 1.2.1 "InAppBrowser"
cordova-plugin-network-information 1.2.0 "Network Information"
cordova-plugin-splashscreen 3.1.0 "Splashscreen"
cordova-plugin-whitelist 1.2.1 "Whitelist"

Saya telah mencoba beberapa hal tidak ada yang berhasil, saya memperbarui semua ketergantungan plugin saya dan satu-satunya perbedaan adalah sekarang logo cordova hilang dan saya mendapatkan layar kosong.
@pke @emmychen Bisakah Anda membuka inspektur web?, saya sudah mencoba tetapi layar saya kosong jika saya mencoba membuka index.html saya

Hai teman-teman, kami memiliki masalah yang sama yang muncul setelah pembaruan cordova-ios ke 4.1.0. Seperti yang dikatakan @pke , masalahnya adalah plugin perangkat. Setelah mengeluarkannya, pembekuan berhenti.

Log terakhir dari perangkat adalah
<Error>: CoreAnimation: failed to allocate IOSurface

platform ionik tambahkan [email protected]

Bekerja untuk saya untuk memperbaiki masalah. Saya memiliki perangkat dan plugin splashscreen.

@amit777 Versi mana dari plugin itu?

@pke saya menggunakan cordova 6.0.0 dan [email protected].

Anda harus menghapus platform ios terlebih dahulu, lalu menambahkannya kembali ke versi 4.1.0

platform ion menghapus ios
platform ionik tambahkan [email protected]

Kami melihat masalah yang sama. Kami dapat mereproduksinya dengan ini di AppDelegate.m

NSUInteger sizeInMB = 300; 
int * unusedMemoryBufferToSimulateMemoryScarcity = NSZoneCalloc(NSDefaultMallocZone(), sizeInMB * 1024 * 1024, 1);
if (NULL == unusedMemoryBufferToSimulateMemoryScarcity) {
       NSLog(@"MEMORY STRESS TEST FAILED: Was unable to allocate requested memory");
       return;
   }

for (int n=0;n<=(sizeInMB/4 * 1000000);n+=4096)
{
    *(unusedMemoryBufferToSimulateMemoryScarcity + n) = 99;
    int aVar = *(unusedMemoryBufferToSimulateMemoryScarcity + n);

}

Panggil ini dalam aplikasi didFinishLaunchingWithOptions sebelum menginisialisasi pengontrol utama.

Jika kami menghapus plugin Perangkat maka masalahnya akan hilang.
Masalahnya adalah kami membutuhkannya untuk pemberitahuan push.

Setiap saran ke mana harus mencari selanjutnya sangat disambut.

Sepertinya ada beberapa interaksi dengan

  CDVCommandQueue fetchCommandsFromJs

dan peringatan memori... tapi bisa jadi salah.

@IonicNick apakah Anda menggunakan cordova-ios 4.1.0?

@mhartington Baru saja beralih setelah pesan itu dan 8 restart dan tidak ada masalah.
Jadi ya cordova-ios 4.1.0 tampaknya menyelesaikannya untuk kita juga.

Baru saja ditingkatkan ke ios 4.1.1 dan layar putih setelah layar splash :( @mhartington

Silakan periksa alat pengembang safari untuk kesalahan. Perbarui juga semua plugin yang telah Anda instal

@mhartington
Saya memeriksa dan memperbarui setiap plugin. Di konsol log sistem saya, saya menemukan aplikasi saya memberikan kesalahan ini dari simulator iphone.
GALAT Navigasi internal ditolak -tidak disetel untuk url=' http://192.168.1.5 :8100/'

Kira itu sudah diperbaiki :) terima kasih
harus menambahkan <allow-navigation href="*"/> pada file konfigurasi saya

Masih dapat mereproduksinya di iPad 8.4 dan Cordova iOS 4.1.1. Tidak ada kesalahan yang ditampilkan.

Kembali ke iOS 3.9.2 memecahkan masalah

Hai teman-teman, saya harus menerbitkan aplikasi untuk menguji penerbangan hari ini dan saya hanya menggunakan 3 jam untuk memperbaikinya ...

Terakhir kali saya mengubah kode, aplikasi bekerja dengan baik di iPhone saya sendiri, tetapi hari ini aplikasi hanya berfungsi untuk emulator tetapi tidak untuk ponsel asli. Saya mencoba semua hal yang kalian katakan tetapi semuanya tidak.

Bos saya baru saja menambahkan saya ke akun tim pengembang perusahaan kemarin, tetapi hari ini saya masih menggunakan akun saya sendiri (tidak dibayar), jadi setelah saya mengubah file penyediaan ke tim pengembang, aplikasi tidak macet di layar splash lagi.

versi ios saya adalah 3.9.2

Saya harap ini bermanfaat.

Setelah saya mengubah url backend, trik saya tidak berfungsi :( dan saya mencoba semua solusi di atas komentar ini, aplikasi masih macet di layar putih dengan pemuat berputar: S

@BVJin , masalah tidak mereproduksi untuk saya baik pada cordova-ios@3 , maupun pada cordova-ios@4 dengan templat tab ionik.
Coba tingkatkan ke cordova-ios@4 :
cordova platform add ios@4

Perangkat dan versi iOS mana yang Anda gunakan?

ditingkatkan ke cordova-ios@4 dan saya masih mendapatkan masalah.

Saya memperbaiki/menambalnya dengan membungkus konten $ionicPlatform.ready dengan $timeout 100 ms.

Saya menyembunyikan layar splash di acara "deviceready", yang juga ada di dalam.

Berikut kode semu:

$ionicPlatform.ready
--- $waktu habis (100ms)
------ document.addEventListener("deviceready", onDeviceReady, false);

Saya mencatat bahwa:
if (jendela.StatusBar) {
StatusBar.styleDefault();
}
(yang juga ada di dalam fungsi platformready)
sepertinya tidak dipanggil, karena bilah status teratas di iPhone tidak berubah saat digantung.

tetapi dengan batas waktu, sekarang berfungsi setiap saat!

hanya ingin memberi tahu Anda bagaimana saya memperbaikinya!
Semoga bisa membantu...

Masih mencari perbaikan nyata! ;)

Pastikan Anda juga memperbarui plugin, dll. Ini lebih dari sekadar memperbarui platform, Anda juga perlu memastikan bahwa plugin juga diperbarui.

Proyek saya dibuat menggunakan Visual Studio 2015.
Apakah Anda memiliki instruksi tentang cara meningkatkan plugin? Terima kasih!

@daserge Saya mencoba keduanya ios@3 dan ios@4 , dan keduanya tidak berfungsi.

@mhartington memutakhirkan plugin perangkat (yang 1.1.1) ke 1.1.2 dan plugin Splashscreen sudah ke rilis 3.1.0 terakhir.

Saya menghapus "perbaikan" saya dan layar splash masih menggantung :(

@baltazarqc , versi splashscreen terbaru yang diterbitkan adalah 3.2.2 .

@daserge hmm, saya akan mencoba menginstalnya secara manual, karena di dalam antarmuka VS config.xml, ketika saya menghapus dan menambahkan yang disarankan, itu menginstal versi 3.1.0.

Terima kasih, akan ditingkatkan lalu coba lagi!

Akan memberi Anda informasi.

@mhartington adalah kli
reset keadaan ionik
cara yang benar untuk mengupgrade semua plugin?

atau saya harus cordova rm dan cordova menambahkan satu per satu?

@daserge sebenarnya, ini 4.0.0! https://github.com/Apache/cordova-plugin-splashscreen <<<

Itu versi dalam pengembangan, rilis terbaru adalah 3.2.2 https://github.com/Apache/cordova-plugin-splashscreen/releases

@BVJin ya, reset status akan menghapus semuanya dan menambahkannya kembali.

terima kasih @jcesarmobile ! akan mengambil yang ini! ;)

@mhartington Saya baru saja mengatur ulang status ionik dan ini adalah plugin yang saya miliki:

cordova-plugin-console 1.0.3 "Konsol"
cordova-plugin-device 1.1.2 "Perangkat"
cordova-plugin-google-analytics 0.8.1 "Plugin Google Universal Analytics"
cordova-plugin-inappbrowser 1.1.1 "InAppBrowser"
cordova-plugin-splashscreen 3.0.0 "Splashscreen"
cordova-plugin-statusbar 2.0.0 "StatusBar"
cordova-plugin-daftar putih 1.2.2 "Daftar putih"
cordova-plugin-x-socialsharing 5.1.1 "Berbagi Sosial"
cordova-plugin-x-toast 2.3.2 "Roti panggang"
cordova-sqlite-storage 0.7.14 "Plugin penyimpanan sqlite Cordova"
ionic-plugin-keyboard 1.0.9 "Keyboard"
pushwoosh-cordova-plugin 5.0.3 "Pushwoosh"

itu tidak memperbaiki masalah.

Seperti yang dikatakan @jcesarmobile , plugin splash sudah diperbarui ke 3.2.2, jadi saya secara manual cordova rm dan cordova menambahkan 3.2.2

layar masih putih...

@BVJin dapatkah Anda melampirkan alat pengembang safari? Mungkin itu sesuatu yang lain?

@mhartington Saya melakukan itu sepanjang waktu, tidak ada kesalahan dan peringatan
Yang aneh adalah aplikasi itu berfungsi sebelum saya mengubah url backend, pada dasarnya itu adalah satu kode baris. Dan bahkan saya mengubah kode kembali, itu tidak berfungsi. Saya tidak memutakhirkan OS mac dan iphone saya selama ini.

Telah berjuang melawan masalah ini sepanjang sore...
Saya menjalankan Cordova versi 6.2.0 dan Cordova-ios 4.1.0 di mac.
Bahkan menjalankan emulator hanya membuka layar, dan kemudian langsung crash.

Saya mengembalikan cordova-ios:
cordova platform remove ios
cordova platform add ios@3
Semuanya berfungsi kembali seperti yang diharapkan setelah ini.

Hal pertama yang saya perhatikan adalah bahwa saya memiliki kesalahan JavaScript di aplikasi saya, tepat setelah startup (hanya bug konyol yang menimbulkan kesalahan).
Saya mulai merasa bahwa jika ada kesalahan dalam kode aplikasi Anda, cordova-ios 4+ tidak dapat menangani ini dan akan mogok dan segera menutup sendiri (setidaknya saat startup, bukan ketika telah berjalan selama beberapa detik.)

saya mengkonfirmasi bug ini, berfungsi dengan baik di ponsel saya dan kehancuran hanya terjadi pada tablet nexus 7, saya menggunakan cordova 6.1.1.

Pastikan Anda memperbarui plugin, platform, dan lainnya.
Juga, periksa kesalahan JS. Pastikan kode Anda sendiri tidak menyebabkan masalah.
Buka masalah baru dengan proyek sampel yang mereplikasi masalah tersebut.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat