Как объединить jsbundle и push-код, если есть два условия? - PullRequest
0 голосов
/ 27 марта 2019

Я установил push-код в проекте React Native на XCode.

  #ifdef DEBUG
    jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
  #else
    jsCodeLocation = [CodePush bundleURL];
  #endif

Теперь я хочу сгенерировать jsbundle и построить проект на устройстве IOS.

Но я обнаружил, что jsCodeLocation дублируется.

#ifdef DEBUG
    jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
#else
    jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif

Я запутался с этим, как я могу объединить jsCodeLocation?

Я не знаком с Objective-c.

Любая помощьбыл бы признателен.

1 Ответ

1 голос
/ 27 марта 2019

Это предусмотрено в примере:

#import "AppDelegate.h"

#import "RCTRootView.h"

#import "CodePush.h"

#import "RCTLog.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  RCTSetLogThreshold(RCTLogLevelInfo);

  NSURL *jsCodeLocation;

  jsCodeLocation = [CodePush bundleURL];

  RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
                                                      moduleName:@"CODE_PUSH_TEST_APP_NAME"
                                               initialProperties:nil
                                                   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

https://github.com/Microsoft/react-native-code-push/blob/master/test/template/ios/TestCodePush/AppDelegate.m

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...