0

我正在尝试使用 RCTRootview 在应用扩展弹出窗口上显示我的主要反应原生应用。使用“http://local_ip:8081/index.bundle?platform=ios&dev=true”为我的 jsbundle 服务器硬编码 NSURL,它显示我的应用程序时没有任何警报或错误:

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG
  return [NSURL URLWithString:@"http://local_ip:8081/index.bundle?platform=ios&dev=true"];
#else
  return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
}

在此处输入图像描述

当没有硬编码时:

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG
  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
  return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
}

它显示一个空白的白色屏幕:

在此处输入图像描述

我错过了什么吗?

我是否应该将其硬编码以进行开发,然后在生产应用商店中使用return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];?它可以工作吗?

4

0 回答 0