Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use Objective-C framework in a Swift written iOS part of a flutter plugin

In a Flutter plugin, I would like to use an Objective-C framework in my iOS part written in swift, and after that using it in a Flutter project that uses Swift as iOS language. After some research about it (I'm not an iOS developer) I find out that what I would like to do is possible by importing the header in the file that act as Bridging header between swift and Objective-C, but the bridging header in the flutter plugin is created automatically if use_frameworks! is defined in the Podfile (as far as I know), and I didn't understand how actually import the header from the Objective-C (I think by defining something in the podspec but I don't know) pod in that. In fact, if I try to import something from the Objective-C pod, XCode complains (and the compiler too) about it by saying that it "doesn't find the module with name <framework name>" or that it can't build Objective-C code. If I try to use the framework in an Objective-C plugin I'm able to use it but only if I comment out use_frameworks! from the project Podfile

At the end, I was wondering if it's possible to use Objective-c external framework in Swift plugin for developing a flutter plugin.

like image 370
Lorenzo Imperatrice Avatar asked Feb 01 '19 09:02

Lorenzo Imperatrice


People also ask

How do you add a platform to Android flutter?

If you only want to add support for specific enabled platforms, you can do that by supplying the --platforms argument: flutter create --platforms=web,macos . I get the error No option specified for the output directory. when run flutter create or flutter create --platforms web .


1 Answers

I suggest you check out starflut package https://pub.dev/packages/starflut. But most likely what you are trying to accomplish has been done more simply for you in another package but if you are totally bent on doing it yourself I think you should try the package

like image 174
Samuel Oluwatodimu Avatar answered Oct 18 '22 20:10

Samuel Oluwatodimu