带有 xcframework 的 Flutter 插件仅适用于不在 ios 模拟器中的设备

Flutter Plugin with xcframework only works with device not in ios simulator

我创建了一个 flutter 插件。 通过 运行 Flutter 中的示例应用程序,我得到了这个错误:

Error: Swift Compiler Error (Xcode): No such module 'AusweisApp2'

这是我的文件夹结构:

podspec 文件:

Pod::Spec.new do |s|       
  s.source           = { :path => '.' }
  s.source_files = 'Classes/**/*'
  s.dependency 'Flutter'
  s.platform = :ios, '11.0'
  s.vendored_frameworks = 'Frameworks/AusweisApp2.xcframework'
  s.xcconfig = { 'OTHER_LDFLAGS' => '-framework AusweisApp2' }

  # 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

该应用程序可在设备上运行,但不能在 ios 模拟器上运行。你可以在这里下载xcframework https://github.com/Governikus/AusweisApp2-SDK-iOS

更新:

Flutter/Xcode 出于某种原因在 arm64x86_64 架构中为模拟器构建应用程序。您可以通过将此行添加到 podspec:

来简单地排除 arm64 架构
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386 arm64' }