如何在本机(iOS)中打开URL文件类而不是Bundle文件类

时间:2017-11-20 06:32:08

标签: ios objective-c reactjs react-native

我正在使用objective-c开发iOS本机应用程序,其中我必须嵌入在React上开发的View,我已经完成了这个,但是这些类是我的系统本地的,现在我已经在我的服务器上上传了这些文件并希望在我的React应用程序中将此类称为URL。我怎么能这样做呢。我尝试过制作NSURL实例并传递给RCTBridge,但确实没有用。任何帮助都会感激不尽。

NSURL *jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"home.ios" fallbackResource:nil];

RCTBridge *bridge = [[RCTBridge alloc] initWithBundleURL:jsCodeLocation moduleProvider:nil launchOptions:nil];
NSDictionary *props = @{@"bearer_token" : @"token", @"area_id":@"areadId"};
rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"Order" initialProperties:props];

这里home.ios是我系统中本地放置的文件路径,现在我在服务器上托管了这个文件路径并从那里调用如下:

NSURL *jsCodeLocation = [[NSURL alloc] initWithString:@"http://**************-react.s3-website.ap-south-1.amazonaws.com/home.ios.js"];
RCTBridge *bridge = [[RCTBridge alloc] initWithBundleURL:jsCodeLocation moduleProvider:nil launchOptions:nil];
NSDictionary *props = @{@"bearer_token" : bearerToken ? bearerToken : @"bearer", @"area_id":SELECTED_AREA_ID};
rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"Order" initialProperties:props];
rootView.frame = CGRectMake(0, 64, SCREEN_WIDTH, SCREEN_HEIGHT - 112);
[self.view addSubview:rootView];

2 个答案:

答案 0 :(得分:1)

我不明白,这是什么类型的网址?网站页面链接或数据API网址。无论如何,请查看此Here文章,您可以通过不同的方式加载网址。

答案 1 :(得分:0)

您不必在任何服务器结帐代码推送上上传文件,您必须正在寻找:

https://github.com/Microsoft/react-native-code-push