Description
In my experimentation with adopting FFI in video_player
, I ended up with a generated trampoline file. The CHANGELOG for ffigen
says:
If you have listener blocks affected by this ref count bug, a .m file will be generated containing the trampoline. You must compile this .m file into your package. If you already have a flutter plugin or build.dart, you can simply add this generated file to that build.
I would be shocked if more than a handful of existing Flutter plugins and apps (if any) are built without ARC, and it's absolutely not something we would want to suggest to people. So that means that "simply" adding that file to an existing build, in the context of Flutter, is not simple at all—it requires learning about the difference between ARC and non-ARC code (at this point, I would expect that a large majority of iOS developers do not have non-ARC experience), and then if it's a plugin how to opt specific files out of ARC in both CocoaPods and Swift Package Manager.
I see there was previous discussion of this in #1360, but I don't think that telling each developer to handle this is the right outcome if the goal is to make interop seamless. ARC is the default assumption for any modern compilation, so we should generate code that works under ARC.
Metadata
Metadata
Assignees
Type
Projects
Status