注意:我的问题与启动画面问题无关
所以过去几天我一直在努力弄清楚为什么我的browserify + react app不会加载到Cordova构建的iOS webview中。该应用程序在Android上完美运行,但在iOS上,在显示Cordova加载屏幕后,它只是保持空白。我的构建脚本(build.js)似乎并没有真正做很多事情。 console.log在safari webview检查器中没有做任何事情,并且似乎没有调用React.render。
这是我的main.js文件(build.js的源代码)
var React = require('react'),
Router = require('./components/router');
var $ = require('jquery');
var injectTapEventPlugin = require("react-tap-event-plugin");
var css = require('./node_modules/react-star-rating-input/src/css');
var insertCss = require('insert-css');
console.log("main.js loaded, app not rendered yet");
function onDeviceReady() {
console.log("App running!");
//Needed for onTouchTap
//Can go away when react 1.0 release
//Check this repo:
//https://github.com/zilverline/react-tap-event-plugin
injectTapEventPlugin();
insertCss(css);
Router.run(function (Handler) {
React.render(
React.createElement(Handler, null),
document.body
);
});
};
onDeviceReady();
$(document).ready(function() {
document.addEventListener("deviceready", onDeviceReady, false);
}.bind(onDeviceReady));
请注意,onDeviceReady调用仅适用于浏览器测试,将在稍后阶段删除。
我在iPhone 6模拟器(iOS 8.4)中运行该应用程序,并且我使用的是Cordova 4.1.2。
我希望有人可以帮助我!提前谢谢。
答案 0 :(得分:0)
问题很可能出在您的路由器定义中。你不应该使用“Router.HistoryLocation” https://github.com/rackt/react-router/issues/310
在没有TouchImageView
的情况下尝试这样做:
Router.HistoryLocation