首页 > 解决方案 > 从 Objective-C 文件导航到 Swift UIViewController

问题描述

我正在尝试将本机模块添加到反应本机项目中。当用户单击 react native 中的按钮时,我想打开这个原生项目的第一个屏幕:https ://github.com/AgoraIO/OpenVideoCall-iOS/tree/master/OpenVideoCall

我按照这里的说明https://facebook.github.io/react-native/docs/native-modules-ios在 Obj-C 中制作了一个原生模块。我有一个扩展 UIController 的 MainViewController 类。如何从 Objective-C 文件启动或导航到 MainViewController。我已经在 Xcode 构建设置中打开了包/定义模块,我尝试按照Call Swift function from Objective C class中的描述导入“buildtarget-Swift.h” 。导入有效,但是当我尝试使用它时找不到 MainViewController。

这是我的代码(我的 Xcode 目标名称是“merge_test”,MainViewController 在 merge_test/OpenVideoCall/MainViewController.swift 中):`

  #import "Call.h"
   #import <UIKit/UIKit.h>
   #import "merge_test-Swift.h"

   @implementation Call

   RCT_EXPORT_MODULE();

   //exports a method to javascript
   RCT_EXPORT_METHOD(navigateToExample:(NSString *)name){
     MainViewController * vc = [[MainViewController alloc] init];
   }

   @end

`

我收到错误“未知接收器 mainviewcontroller”,但我很确定我做错的不止于此。我该怎么做呢?对于android来说非常简单,我觉得ios必须有一个简单的方法。

谢谢!

标签: react-native

解决方案


推荐阅读