Я несколько раз бил головой об этом. После получения нескольких ошибок "объект не определен" при попытке создать новый объект FileTransfer(), похоже, что проблема более простая - как-то событие DeviceReady не запускается.
У много проблем по этой проблеме, но большинство из них связано с сборками pre-3.x cordova, у которых была другая архитектура (я на 4.1.2). Я пробовал предложения по более новым темам, которые я мог найти - удаление и добавление плагинов, обновление кордовы и т.д. - безрезультатно. Чтобы попытаться изолировать проблему, я закомментировал код запуска всего несколькими строками:
Index.html:
<!DOCTYPE html>
<html>
<head>
<title>Blah</title>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1, user-scalable=no, minimum-scale=1, maximum-scale=1">
<link href="res/topcoat/css/topcoat-mobile-light.min.css" rel="stylesheet">
<link href="res/css/styles.css" rel="stylesheet">
<link href="res/css/pageslider.css" rel="stylesheet">
<script data-main="js/main" src="lib/require.js"></script>
</head>
Main.js:
require(["app/Application"], function (Application) {
"use strict";
document.addEventListener("deviceready", function(){
$('body').html("<p>device is ready</p>");
},true);
$('body').html("<p>waiting...</p>");
});
Вместо того, чтобы отображать "устройство готово" в теле после бит, на экране отображается только "ожидание...". Это происходит как на эмуляторе iOS, так и в браузере (корреспондирование с кордорой).
Информация о Кордове:
$ cordova -v
4.1.2
Информация о плагине:
$ cordova plugins
org.apache.cordova.globalization 0.3.3 "Globalization"
(Я получаю те же результаты, если Глобализация не существует).
Есть ли другое место, которое я должен искать? Я запускаюсь из командной строки, если это имеет значение.