2015-12-04 44 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還適用
相關問題