Javascript 我编辑了AppDelegate.m以侦听端口8080,但它仍然失败,因为8081正在使用中

Javascript 我编辑了AppDelegate.m以侦听端口8080,但它仍然失败,因为8081正在使用中,javascript,xcode,react-native,Javascript,Xcode,React Native,我正在用xcode设置react native。端口8081被一个必须留在那里的进程占用,因此我希望打包人员使用端口8080。我按照facebook的指示发现,但仍然得到错误“端口8081”已经在使用中。为什么在我编辑AppDelegate.m之后react native仍在尝试使用端口8081 下面是AppDelegate.m代码,删除了注释部分: #import "AppDelegate.h" #import "RCTRootView.h" @implementation AppDele

我正在用xcode设置react native。端口8081被一个必须留在那里的进程占用,因此我希望打包人员使用端口8080。我按照facebook的指示发现,但仍然得到错误“端口8081”已经在使用中。为什么在我编辑AppDelegate.m之后react native仍在尝试使用端口8081

下面是AppDelegate.m代码,删除了注释部分:

#import "AppDelegate.h"

#import "RCTRootView.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  NSURL *jsCodeLocation;


  jsCodeLocation = [NSURL    URLWithString:@"http://localhost:8080/index.ios.bundle"];

  RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
  moduleName:@"amapp"
  launchOptions:launchOptions];

  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  UIViewController *rootViewController = [[UIViewController alloc] init];
  rootViewController.view = rootView;
  self.window.rootViewController = rootViewController;
  [self.window makeKeyAndVisible];
  return YES;
}

@end

尝试清除xcode项目中的缓存。
command+shift+k

自2015年10月25日起,这似乎是React本地项目中的一个未决问题:

我通过从8081全局查找/替换到一个新端口(在我的例子中是8082)来实现它。难看,但它奏效了

这不是一个真正的解决方案,但它是我找到的最好的解决方法。假设您正在使用OSX:

cd myproject
find ./ -type f -exec sed -i '' 's/8081/8082/g' {} \;

请出示您的AppDelegate.m文件。你也重新启动包装机了吗?@cutemachine-我想是的?我关闭了终端,打开了一个新的终端,然后开始运行。我甚至重新启动了我的机器。也许不是,这是我第一次使用react native。。。当我在新终端中启动packager时,它给了我:错误:packager无法侦听端口8081,因此可能从未重新启动过。@HelloWorld您最终解决了这个问题吗?我也有同样的问题。据我所知,这是一个悬而未决的问题:我也这么做了,但运气不好。你是对的。最后我放弃了我的另一个项目,把它搬到了8080端口。不过我喜欢你的变通方法——丑陋但有创意——我不得不承认,创意不是我的——一位同事建议我这么做,我想我会和你分享。