【问题标题】:How to open a URL file class instead of Bundle file class in react native(iOS)如何在 react native(iOS) 中打开 URL 文件类而不是 Bundle 文件类
【发布时间】:2018-05-03 07:55:04
【问题描述】:

我正在使用 Objective-c 开发一个 iOS 本机应用程序,我必须在其中嵌入一个基于 React 开发的视图,并且我已经完成了这项工作,但是这些类是我的系统本地的,现在我已将这些文件上传到我的服务器上并想在我的 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];

【问题讨论】:

    标签: ios objective-c reactjs react-native


    【解决方案1】:

    不要在任何服务器上上传您的文件结帐代码推送相同,你必须寻找这个:

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

    【讨论】:

    • 谢谢,这是我需要的:)
    【解决方案2】:

    我不明白,这是什么网址?网站页面链接或数据 API url。任何方式请查看这篇 Here 文章,您可以获得不同的加载 url 的方法。

    【讨论】:

    • 这个 url 是我的 home.ios.js 文件的路径,我把这个文件上传到服务器及其相关文件和文件夹结构
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多