AwesomeProject不能在iPhone真机上运行,谁遇到过这种情况吗?

tennis
  • 656

在Xcode中打开项目后,可以在同同款的iPhone 4S模拟器上运行。
但真机上显示一个大红屏幕,上面写着:
Could not connect to development server.
Ensure the following:
-Node server is running and available on the same network - run'npm start' from react-native root.
-Node server URL is correctly set in AppDelegate

URL:http://localhost:8081/index.ios.bundle?platform=ios&dev=true

Counld not connect to the server.

开发需要的证书什么的我都配了,从XCODE上创建一个新项目也可以在真机上运行。
我搜了一下,好象别人都没遇到这个问题啊,我很郁闷。
我的开发环境是win 7下用Vmware 11虚拟出来的一个虚拟机。mac os,xocde都是appstore更新到最新。

回复
阅读 8.4k
5 个回答

真机需要bundle出文件

曹尹孟de
  • 1
新手上路,请多包涵

我的
node -v 5.3
npm -v 3.3

解决办法: 英文官方文档:
Install Node.js 4.0 or newer.
Install nvm with its setup instructions here. Then run nvm install node && nvm alias default node, which installs the latest version of Node.js and sets up your terminal so you can run it by typing node. With nvm you can install multiple versions of Node.js and easily switch between them.
If you are using Node 5.0 or newer, we recommend installing npm 2, which is much faster than npm 3. After installing Node, run npm install -g npm@2.

执行 npm install -g npm@2

localhost 替换为你的虚拟机的ip . 同时确保你虚拟机是可以被外部连接的,而且要和你的手机wifi共同局域网。
另外一个方法就是把那个文件保存下来,改下native的代码到本地上。

toksea
  • 1
新手上路,请多包涵

可能是真机和虚拟机版本不同,兼容性问题,可以用 shim

https://github.com/es-shims/es5-shim#example-of-applying-es-compatability-shims-in-a-browser-project

<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-sham.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/json3/3.3.2/json3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.34.2/es6-shim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.34.2/es6-sham.min.js"></script>
<script src="https://wzrd.in/standalone/es7-shim@latest"></script>
<script src="你的脚本.js"></script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏