flutter - 适用于 iOS 的自定义 Flutter 插件开发

标签 flutter cocoapods flutter-dependencies podspec

我正在尝试为 iOS 开发一个自定义 Flutter 插件。

客户共享了特定于供应商的私有(private) SDK(在 Cocoapods 存储库中不可用),用于与外部硬件交互。 SDK采用*.framework格式。

所以我创建了一个新插件。在插件内部,我想从本地路径将 SDK 依赖项添加到 .podspec 文件中。如何添加这个依赖呢?这是正确的方法还是我们有其他选择来解决这个问题?请帮助我。

最佳答案

我能够通过在插件的 podspec 配置中提供所有特定于供应商的框架作为 s.vendored_frameworks 来解决此问题。

s.vendored_frameworks = 'x1.framework','x2.framework','x3.framework',

Pod::Spec.new do |s|
  s.name             = 'ble'
  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' => '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="fe9b939f9792be9b869f938e929bd09d9193" rel="noreferrer noopener nofollow">[email protected]</a>' }
  s.source           = { :path => '.' }
  s.source_files = 'Classes/**/*'
  s.public_header_files = 'Classes/**/*.h'


  s.ios.deployment_target = '10.0'
  s.requires_arc = true
  s.ios.frameworks = 'Foundation', 'CoreTelephony', 'Security', 'CoreLocation', 'CoreBluetooth', 'CoreMotion', 'UIKit', 'SystemConfiguration', 'LocalAuthentication', 'CoreML'
  s.dependency 'Flutter'
  s.vendored_frameworks = 'SeosMobileKeysSDK.framework','BerTlv.framework','CocoaLumberjack.framework','JSONModel.framework','Mixpanel.framework'

end

所有框架库都放置在插件文件夹本身中

enter image description here

关于flutter - 适用于 iOS 的自定义 Flutter 插件开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57219223/

相关文章:

android - 如何从存储在 Assets 中的本地文件夹添加抖动图像

flutter - 在 Flutter 中有条件地锁定设备方向

ios - 使用 XCode 在物理设备上运行 Flutter 时出现未处理的异常 iOS 12.5.5

flutter - 我如何在本地存储中存储变量或说列表变量?

google-maps - 如何在 Flutter 上使用 Google Maps 设置事件标记

Android 到 iOS - gradle 与 podfile

ios - 无法将 AFNetworking 依赖项导入 Cocoapod

swift - 使用 Cocoapods 依赖运行 Swift 脚本

django-rest-framework - ios上大图片的Flutter SocketException问题

websocket - Flutter 使用 dart 实现 socket.io