反应本机run-ios失败

时间:2016-09-12 15:18:03

标签: react-native react-native-android

这是在星期五工作。代码没有变化。 (除了在Mac上进行时间机器备份)。

但是今天react-native run-ios似乎没有起作用。模拟器出现了,但通常的loading http://localhost:8081不会再出现了。没有错误或任何关于为什么失败的迹象。模拟器在主屏幕上显示我的应用程序。双击它只会启动,应用程序似乎立即崩溃。

但是react-native run-android工作正常。

我不知道哪里开始调试这个。 (对整个应用程序开发来说是新手)。

一些观察,

  1. 当我运行npm start然后运行react-native run-ios时,它 通常“检测”打包器正在运行并跳过launchPackager命令,但今天不是这样,无论包是否已经运行,launchPackager都会打开(同时发生run-androidrun-ios
  2. 一旦应用程序开始加载,通常会出现以下行。但是今天它们只在我运行react-native run-android

    时出现

    8:43:46 PM]找到依赖项 改造了728/728(100%) [8:43:46 PM]找到依赖项(553ms) [8:43:46 PM]请求:/index.android.bundle?platform = android& dev = true& hot = false& minify = false(661ms)

  3. 当我运行react-native logs-ios时,我得到以下错误

    Sep 12 20:53:15 sseshac-in-la com.apple.CoreSimulator.SimDevice.ADE00521-C04E-4EC5-8BE2-FE729523A0B9.launchd_sim[3812] (UIKitApplication:org.reactjs.native.example.X[0x3f02][4589]) <Notice>: Service exited due to signal: Abort trap: 6
    Sep 12 20:53:15 sseshac-in-la assertiond[3832] <Error>: assertion failed: 15G31 13E230: assertiond + 15801 [3C808658-78EC-3950-A264-79A64E0E463B]: 0x1
    Sep 12 20:53:15 sseshac-in-la Unknown[3832] <Error>:
    Sep 12 20:53:15 sseshac-in-la SpringBoard[3828] <Warning>: Application 'UIKitApplication:org.reactjs.native.example.X[0x3f02]' crashed.
    Sep 12 20:53:15 sseshac-in-la assertiond[3832] <Error>: assertion failed: 15G31 13E230: assertiond + 15801 [3C808658-78EC-3950-A264-79A64E0E463B]: 0x1
    Sep 12 20:53:15 sseshac-in-la Unknown[3832] <Error>:
    Sep 12 20:53:15 sseshac-in-la assertiond[3832] <Warning>: notify_suspend_pid() failed with error 7
    Sep 12 20:53:15 sseshac-in-la assertiond[3832] <Error>: assertion failed: 15G31 13E230: assertiond + 15801 [3C808658-78EC-3950-A264-79A64E0E463B]: 0x1
    Sep 12 20:53:15 sseshac-in-la Unknown[3832] <Error>:
    Sep 12 20:53:15 sseshac-in-la SpringBoard[3828] <Warning>: Reply Error: Connection interrupted 
    Sep 12 20:58:36 sseshac-in-la routined[3817] <Error>: CoreLocation: Error occurred while trying to retrieve motion state update: CMErrorDomain Code:104
    

    更新 我认为根本原因似乎低于错误

    <Error>: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'bundleURL must be non-nil when not implementing loadSourceForBridge'
    

    请注意,我使用的是React native 0.32。我明白现在它“检测”而不是对bundleUrl进行硬编码。如果有人能够了解这种“检测”的位置,将会很有帮助

2 个答案:

答案 0 :(得分:3)

问题原因是我错过了/ etc / hosts中的条目

127.0.0.1   localhost

我仍然没有任何线索为什么它以前会起作用。但那解决了它

答案 1 :(得分:1)

您可能遇到打包机问题,确保您的所有模块都可以通过打开来检查 http://localhost:8081/index.ios.bundle?platform=ios&dev=true 在构建后的浏览器中,您将收到错误