ОК, я воспользовался советом RespectTheCode и удалил событие готовности устройства из функции onLoad. Это рабочий код. Я ставлю полный код для тех, кто изучает:
<script>
document.addEventListener("deviceready", onDeviceReady, false);
setTimeout(function() {
navigator.splashscreen.hide();
}, 1000);
</script>
1000 - это одна секунда для тех, кто не знает. Не будет работать менее одной секунды, т.е. 500. Заставка просто зависает.
Это работает для меня, когда я устанавливаю и приложение работает нормально, однако, когда я перезагружаю устройство (iPad2), заставка зависает, как предыдущая проблема (выше параграф), и не будет входить в приложение. Странная ошибка.
Кто-нибудь еще испытал это?
Я на сборке iOS 5.1 с Xcode 4.3.1 и Cordova 1.5.0