Coder Social home page Coder Social logo

请问这个插件是配合flutter_module一起使用的吗?还有如何把flutter作为第一启动,而不是直接跳到OC页面? about flutter_thrio HOT 13 CLOSED

foxsofter avatar foxsofter commented on May 14, 2024
请问这个插件是配合flutter_module一起使用的吗?还有如何把flutter作为第一启动,而不是直接跳到OC页面?

from flutter_thrio.

Comments (13)

foxsofter avatar foxsofter commented on May 14, 2024

这是一个 Flutter Plugin,不需要配合 flutter module一起使用,但是如果你是要嵌入原生应用的话,应该是需要flutter module的。另外如果要把flutter作为第一启动页面的话,比较好的选择是新建一个 flutter app,然后对其进行改造,将其放在storyboard上的FlutterViewController替换掉你自己继承于NavigatorFlutterViewController的类,继承的目的是为了处理好引擎的复用。

from flutter_thrio.

SuPeiSen avatar SuPeiSen commented on May 14, 2024

这是一个Flutter插件,不需要配合flutter module一起使用,但是如果你是要嵌入原生应用的话,应该是需要Flutter module的。另外如果要把Flutter作为第一启动页面的话,比较好的选择是新建一个flutter应用程序,然后进行进行改造,将其放在storyboard上的FlutterViewController替换掉你自己继承于NavigatorFlutterViewController的类,继承的目的是为了处理好引擎的替代。

好的,谢谢大佬,我去尝试一下。

from flutter_thrio.

SuPeiSen avatar SuPeiSen commented on May 14, 2024

这是一个Flutter插件,不需要配合flutter module一起使用,但是如果你是要嵌入原生应用的话,应该是需要Flutter module的。另外如果要把Flutter作为第一启动页面的话,比较好的选择是新建一个flutter应用程序,然后进行进行改造,将其放在storyboard上的FlutterViewController替换掉你自己继承于NavigatorFlutterViewController的类,继承的目的是为了处理好引擎的替代。

大佬给一个解决思路吧,这个错困扰我了两天了。
MissingPluginException(No implementation found for method registerUrls on channel method___thrio_app_)
#0 MethodChannel.invokeMethod

企业微信截图_ea3deb99-40d8-45f1-a4f3-24df02e6d6b0

from flutter_thrio.

foxsofter avatar foxsofter commented on May 14, 2024

你有demo的话好解决点

from flutter_thrio.

SuPeiSen avatar SuPeiSen commented on May 14, 2024

你有demo的话好解决点
就是在flutter侧一打开调试模式,就会报这个错(emmm,我不知道你能不能看到我上传的截图,这如果第一启动是OC的页面,再push到flutter页面,就不会报这个错,如果是直接在flutter启动的话,就会报这个错。如果可以的话,我希望能够添加多一个flutter作为第一启动的demo,给我们这些小白参考。)
error

from flutter_thrio.

SuPeiSen avatar SuPeiSen commented on May 14, 2024

你有demo的话好解决点

这个是vscode的抛出的异常。
出现异常。
MissingPluginException (MissingPluginException(No implementation found for method registerUrls on channel method___thrio_app_))

from flutter_thrio.

foxsofter avatar foxsofter commented on May 14, 2024

你是少了一些步骤嘛?没到插件注册这一步呢,原生端的代码要加,参考下thrio的demo

from flutter_thrio.

SuPeiSen avatar SuPeiSen commented on May 14, 2024

你是少了一些步骤嘛?没到插件注册这一步呢,原生端的代码要加,参考下thrio的demo

OC那边的代码不知道算不算添加成功,但是我能够在OC->push->flutter, 然后在flutter->push->OC,都是没有问题的。

` // 这样子是没有问题的,这边是把UIVIewController作为第一启动
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[ThrioModule init:[RegisterThrio new]];
FristViewController *vc = [FristViewController viewController];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];
self.window.rootViewController = nav;
[self.window makeKeyAndVisible];
return YES;

// 这样子是有问题的,我只是flutterViewController作为第一启动,就不行了

// self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// [ThrioModule init:[RegisterThrio new]];
// FlutterViewController *flutterView = [DartdViewController viewController];
// UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:flutterView];
// self.window.rootViewController = nav;
// [self.window makeKeyAndVisible];
// return YES;`

from flutter_thrio.

foxsofter avatar foxsofter commented on May 14, 2024

因为你的DartdViewController自己起了一个引擎,这个引擎没有注册插件,你重写其构造函数,用如下的方式获取引擎 [NavigatorFlutterEngineFactory.shared getEngineByEntrypoint:@""],传给父类,这样应该就可以了

from flutter_thrio.

SuPeiSen avatar SuPeiSen commented on May 14, 2024
FlutterEngine *flutterEngine = [NavigatorFlutterEngineFactory.shared getEngineByEntrypoint:@""];
[flutterEngine run];
FlutterViewController *vc = [[FlutterViewController alloc] initWithEngine:flutterEngine nibName:nil bundle:nil];
return vc;

因为你的DartdViewController自己起了一个引擎,这个引擎没有注册插件,你重新构造函数,用如下的方式获取引擎[NavigatorFlutterEngineFactory.shared getEngineByEntrypoint:@""],传给父类,这样应该就可以了

FlutterEngine *flutterEngine = [NavigatorFlutterEngineFactory.shared getEngineByEntrypoint:@""]; [flutterEngine run]; FlutterViewController *vc = [[FlutterViewController alloc] initWithEngine:flutterEngine nibName:nil bundle:nil]; return vc;
大佬是这样吗?我该在哪里导入这个NavigatorFlutterEngineFactory类?感谢大佬嘻嘻嘻嘻

from flutter_thrio.

SuPeiSen avatar SuPeiSen commented on May 14, 2024

因为你的DartdViewController自己起了一个引擎,这个引擎没有注册插件,你重新构造函数,用如下的方式获取引擎[NavigatorFlutterEngineFactory.shared getEngineByEntrypoint:@""],传给父类,这样应该就可以了

not_find

from flutter_thrio.

foxsofter avatar foxsofter commented on May 14, 2024

你加下我微信吧 foxsofter

from flutter_thrio.

SuPeiSen avatar SuPeiSen commented on May 14, 2024

foxsofter

哇,谢谢大佬。

from flutter_thrio.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.