我编辑 AppDelegate.m 以监听端口 8080 但它仍然失败,因为 8081 正在使用中
I Edited AppDelegate.m to listen to port 8080 but it still fails because 8081 is in use
我正在使用 xcode 设置 react-native。端口 8081 被一个必须留在那里的进程占用,所以我希望打包程序改用端口 8080。我按照 facebook 的说明进行操作,发现 here 但仍然收到错误消息 "port 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 项目中的缓存。
命令+shift+k
截至 2015 年 10 月 25 日,这似乎是 React Native 项目中的一个未解决问题:https://github.com/facebook/react-native/issues/3330
我通过从 8081 到新端口(在我的例子中是 8082)执行全局 find/replace 来让它工作。丑陋,但它奏效了。
这不是真正的解决方案,但它是我找到的最佳解决方法。假设您使用 OSX:
cd myproject
find ./ -type f -exec sed -i '' 's/8081/8082/g' {} \;
我正在使用 xcode 设置 react-native。端口 8081 被一个必须留在那里的进程占用,所以我希望打包程序改用端口 8080。我按照 facebook 的说明进行操作,发现 here 但仍然收到错误消息 "port 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 项目中的缓存。 命令+shift+k
截至 2015 年 10 月 25 日,这似乎是 React Native 项目中的一个未解决问题:https://github.com/facebook/react-native/issues/3330
我通过从 8081 到新端口(在我的例子中是 8082)执行全局 find/replace 来让它工作。丑陋,但它奏效了。
这不是真正的解决方案,但它是我找到的最佳解决方法。假设您使用 OSX:
cd myproject
find ./ -type f -exec sed -i '' 's/8081/8082/g' {} \;