首先,我不知道react,但我认为部署到iOS设备上而不是模拟器上使用文档并不是太难。它们有点稀疏,但我到了某个地方,现在我被困住了。我创建了一个main.jsbundle并将其添加到Xcode项目中,并在AppDelegate.m中取消了该行的注释。
当我部署它时,我得到这个错误:
2015-03-26 16:13:08.538 AwesomeProject[4753:2477032] >
RCTJSLog> "Running application "AwesomeProject" with appParams: {"rootTag":1,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF"
2015-03-26 16:13:08.547 AwesomeProject[4753:2477032] >
RCTJSLog> "Error:
stack:
runApplication main.jsbundle:33769
jsCall main.jsbundle:7157
_callFunction main.jsbundle:7404
applyWithGuard main.jsbundle:877
guardReturn main.jsbundle:7206
callFunctionReturnFlushedQueue main.jsbundle:7413
URL: file:///private/var/mobile/Containers/Bundle/Application/DBC0DAF4-B568-4CF5-B156-9EFEE4E7FF4A/AwesomeProject.app/main.jsbundle
line: 1536
message: Invariant Violation: Application AwesomeProject has not been registered."
2015-03-26 16:13:08.723 AwesomeProject[4753:2477032] >
RCTJSLog> "#CLOWNTOWN (error while displaying error): Network request failed"
发布于 2015-03-28 05:35:34
你的问题应该与控制台没有任何关系,如果你正确地将你的javascript捆绑到ios应用程序中,它就不会试图与dev服务器对话,它只会从捆绑包中获取javascript。
从错误消息中,我猜测您可能已经重命名了您的主要组件。请确保您传递到
AppRegistry.registerComponent('AppName' /* <- */, ... )
与您的AppDelegate.m
上的
[[RCTRootView alloc] initWithBundleUrl:...
moduleName:@"AppName" // <-
launchOptions:...
发布于 2015-03-28 22:13:35
这是因为react-native服务器仍在监视旧服务器。您需要先关闭服务器。
您可以直接终止该进程。
在终端中
ps aux | grep react
终止或pkill进程,然后
npm start
发布于 2015-05-25 02:54:21
AppRegistry定义了应用程序的入口点,并提供了根组件。
您的第一个参数与您的项目名称不匹配。
AppRegistry.registerComponent('AwesomeProject', () => YourMainComponent);
registerComponent
的第一个参数必须是您的项目名称,第二个参数是返回根react组件的匿名函数。
如果第一个参数与xcode项目名不匹配,就会得到应用程序尚未注册错误。
如果作用域中没有AppRegistry,您可以像这样调用它,也可以将它分配给AppRegistry
变量
var {
AppRegistry
} = React;
https://stackoverflow.com/questions/29287987
复制相似问题