带有 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 2.2.1
有效
- 在
Flutter 2.5.3
中不起作用
- 在
Flutter 2.8.0
有效
- 在
Flutter 2.8.1
中不起作用
- 在
Flutter 2.10.3
中不起作用
Flutter/Xcode 出于某种原因在 arm64
和 x86_64
架构中为模拟器构建应用程序。您可以通过将此行添加到 podspec
:
来简单地排除 arm64
架构
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386 arm64' }
我创建了一个 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 2.2.1
有效 - 在
Flutter 2.5.3
中不起作用 - 在
Flutter 2.8.0
有效 - 在
Flutter 2.8.1
中不起作用 - 在
Flutter 2.10.3
中不起作用
Flutter/Xcode 出于某种原因在 arm64
和 x86_64
架构中为模拟器构建应用程序。您可以通过将此行添加到 podspec
:
arm64
架构
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386 arm64' }