美文网首页
RN集成iOS问题

RN集成iOS问题

作者: 逗留 | 来源:发表于2017-02-11 11:51 被阅读130次

    集成步骤:http://reactnative.cn/docs/0.41/getting-started.html,比android简单一万倍。。。还是我大iOS 666

    如果出现xcrun: error: unable to find utility "instruments", not a developer tool or in PATH

    在终端执行如下命令 sudo xcode-select -s /Applications/Xcode.app/Contents/Developer/即可。

    如果编译一直卡在build double conversion这里,是因为0.45后的RN项目,会依赖一些三方库,然而在国内这些库很难下载到,翻墙也很难下到。把http://pan.baidu.com/s/1kVDUAZ9这些压缩文件放到~/.rncache即可

    因为我们项目只是部分界面用到了RN,所以开始的做法是,单独建一个控制器,在控制器中重写loadView

    - (void)loadView

    {

    NSURL *jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];//index.ios是存放ios端js代码的文件

    YJAppDelegate *appDelegate = (YJAppDelegate *)UIAP.delegate;

    RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation

    moduleName:@"App"

    initialProperties:nil

    launchOptions:nil];

    self.view = rootView;//App是js中注册的模块名称AppRegistry.registerComponent('App', () => App);

    }

    找个地方初始化控制器,显示出来,没问题,打开远程调试,点一下屏幕,o,红屏了。。。咋办,查了半天,没有找到解释这个问题的,刚学RN也不是很懂,只能靠试+猜

    看看没有设置的参数,initialProperties是传递参数,肯定不是,launchOptions,它要这个做什么,我也不知道,加上试一下,在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions里拿到这个参数,放到这里,跑起来,呵呵,好了。。。

    其他问题,百度一下就能找到,暂时不总结了。。。

    持续中。。。

    相关文章

      网友评论

          本文标题:RN集成iOS问题

          本文链接:https://www.haomeiwen.com/subject/tdtoittx.html