Open fangmd opened 12 months ago
xxx.a
放到项目目录下 Runner/xxxx.a
下xxx.a
拖动到 xcode 的 Runner/Frameworks
下静态库.h
头文件复制到项目下Runner-Bridging-Header.h
,并在 Runner-Bridging-Header.h
中添加 #import "qs_sdk.h"
静态库.h
, 并且使用内部的一个函数(这样可以确保 .a .h 会被打包到项目中),然后 Dart 中就可以正常调用静态库了nativeApiLib = DynamicLibrary.executable(); // 静态库
去掉 arm64 编译
https://github.com/brickpop/flutter-rust-ffi/issues/7#issuecomment-687907804
原因: ios 在 release/profile 模式下做了 tree shaking
处理方案:实现 oc(.m .h) 文件给静态库所有函数包一层,在 swift 中调用一下会使用到的静态库函数(不用真的调用,实现一个入口函数-dummyMethodToEnforceBundling,函数里面使用了所有 oc 函数就可以,dummyMethodToEnforceBundling函数不需要被调用)