TL;DR; Flutter Plugin project which uses .framework as iOS library, could not locate some of cpp libraries such as <list>
I am working on a Flutter Application which contains platform native code in it. Platform native code, both ios and android, is using the same library which is C++ based. The only difference is library import ways. For android platform library is added as .aar file, for iOS platform library is added as .framework file.
I decided to add my application into native android (java) and ios application (swift). After a short investigation,I found that I need two things;
- Flutter Module project : To Integrate the application into a mobile app
- Flutter Plugin project : To use my custom library in a module project.
I created both and ran successfully on android without any error. However, on the ios platform, the module project could not find some of c++ libraries such as <list>.
..../customLibrary.framework/Headers/xyz.hpp:XX:YY 'list' file not found
I've already added several c++ definitions in the .podspec file but it did not work.
s.library = 'c++' s.xcconfig = {
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++11',
'CLANG_CXX_LIBRARY' => 'libc++'
}
And I could not port the libraries as plugin:ffi. Because .aar file contains java and .framework file .mm files in it.
How can I add cpp dependency to my Flutter Module project or Flutter Plugin project?