2015-12-04 21 views
0

由于昨天我无法再测试我的React-Native应用程序(不在模拟器或设备上)。我没有卸载Xcode并重新安装。我正在测试一个init AwesomeProject文件。 Xcode的报告“构建成功”,开始显示启动画面但后来我收到以下消息iOS React Native - 操作无法完成。没有这样的文件或目录

“[错误] [TID:主]操作无法完成,没有这样的文件或目录。”

和模拟器包括消息

“RCTFatal” 和 “RCTBatchedBridge stopLoadingWithError”

等 ,看起来像这样: Screenshot of ErrorMessage

重要:我是能够建立一个干净的仅适用于iOS测试应用程序,其构建并成功运行。

回答

0

在你AppDelegate.m文件,检查以下行

jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"]; 

如果路径未设置为本地主机,仿真器将无法正常工作。如果您想在手机中运行应用程序,请使用您的IP地址而不是本地主机。

1

我也遇到过这个问题,我认为它与在https://github.com/facebook/react-native/issues/3174上讨论的一样,其中问题涉及IPv4/IPv6。

对我有用:我在AppDelegate.m中放了一个IPv6地址。这个工作对模拟器(的iOS 8.4/9.0/9.1)设备(iPhone,iOS版9.1):

  • 你得到你的IPv6地址:ifconfig | grep inet6 | grep -v fe80::
  • AppDelegate.m用括号括起来,使:
jsCodeLocation = [NSURL URLWithString:@"http://[abab:1234:1234:abab:aaaa:bbbb:1111:2222]:8081/index.ios.bundle?platform=ios&dev=true"]; 

更详细的故事,关于AppDelegate.m的IPv4/6地址:

  • 在模拟器:
    • 的iOS 9.0和9.1:
      • 的IPv4不起作用,但是主机名,例如localhost确实
      • IPv6的工作
    • 的iOS 8 。4:
      • IPv4和IPv6工作
  • 在设备上,iPhone与iOS 9.1:
    • 的IPv4实际上确实为我工作
    • IPv6还适用
相关问题