flutter plugins ios 使用framework

在iOS插件中,可以通过创建Framework文件夹来管理第三方库。在podspec文件中配置vendored_frameworks、vendored_libraries和resource路径,以便导入.a和.bundle文件。对于Swift调用OC代码,需要创建桥接头文件并导入库的头文件。最后,更新public_header_files确保头文件可见。这样可以在Swift代码中使用OC库。
摘要由CSDN通过智能技术生成

在插件IOS文件夹下新建Framework文件夹,把需要导入的第三方库文件放到这里面

 然后找到***.podspec文件添加如下代码:

//.framework文件路径
s.vendored_frameworks = 'Framework/*.framework'
//.a文件路径
s.vendored_libraries = 'Framework/*.a'
//.bundle资源文件路径
s.resource ='Framework/*.bundle' 

我的插件使用swift,不过大部分库都是oc写的,要用switft调用oc,还需要加入桥接文件,在Classes文件夹下创建,插件名-Bridging-Header.h文件,头文件代码如下:

#import <BytedFaceVerifySdk/BytedCertWrapper.h>

在这里面导入库的头文件即可,还需要在.podspec文件里添加如下代码:

s.public_header_files = 'Classes/**/*.h'

然后就可以在swift文件里调用到oc库的方法了。

我的最终.podspec文件如下:

Pod::Spec.new do |s|  
s.name = 'bytedcert'  
s.version = '0.0.1'  
s.summary = 'A new Flutter plugin project.'  
s.description = <<-DESC  
A new Flutter plugin project.  
DESC  
s.homepage = 'http://example.com'  
s.license = { :file => '../LICENSE' }  
s.author = { 'Your Company' => 'email@example.com' }  
s.source = { :path => '.' }  
s.source_files = 'Classes/**/*'  
  
s.vendored_frameworks = 'Framework/BytedFaceVerifySdk.framework'  
s.resource = 'Framework/action_liveness.bundle','Framework/byted_cert.bundle','Framework/reflection_liveness.bundle'  
s.public_header_files = 'Classes/**/*.h'  
  
s.dependency 'Flutter'  
s.platform = :ios, '9.0'  
  
# Flutter.framework does not contain a i386 slice.  
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }  
s.swift_version = '5.0'  
end

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值