移至M1Mac后在iOS上运行FlutterApp时出错
我最近将我的项目转移到了我的 M1 MacBook Pro。但是flutter run在 iPhone 12 Pro Max Simulator 上运行时出现以下错误。
Resolving dependencies of `Podfile`
??? MARKDOWN TEMPLATE
???????????????????????????????????????????????????????????
### Command
```
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/bin/pod install --verbose
```
### Report
* What did you do?
* What did you expect to happen?
* What happened instead?
### Stack
```
CocoaPods : 1.10.1
Ruby : ruby 2.6.3p62 (2019-04-16 revision 67580)
[universal.x86_64-darwin20]
RubyGems : 3.0.3
Host : macOS 11.1 (20C69)
Xcode : 12.3 (12C33)
Git : git version 2.24.3 (Apple Git-128)
Ruby lib dir :
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib
Repositories :
```
### Plugins
```
cocoapods-deintegrate : 1.0.4
cocoapods-plugins : 1.0.0
cocoapods-search : 1.0.0
cocoapods-trunk : 1.5.0
cocoapods-try : 1.2.0
```
### Podfile
```ruby
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
# CocoaPods analytics sends network stats synchronously affecting flutter
build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..',
'Flutter', 'Generated.xcconfig'), __FILE__)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're
running pod install manually, make sure flutter pub get is executed
first"
end
File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}.
Try deleting Generated.xcconfig, then run flutter pub get"
end
require File.expand_path(File.join('packages', 'flutter_tools', 'bin',
'podhelper'), flutter_root)
flutter_ios_podfile_setup
target 'Runner' do
use_frameworks!
use_modular_headers!
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end
```
### Error
```
LoadError - dlsym(0x7f84b630ab40, Init_ffi_c): symbol not found -
/Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi_c.bundle
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/ru
bygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/ru
bygems/core_ext/kernel_require.rb:54:in `require'
/Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi.rb:6:in `rescue in <top
(required)>'
/Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi.rb:3:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/ru
bygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/ru
bygems/core_ext/kernel_require.rb:54:in `require'
/Library/Ruby/Gems/2.6.0/gems/ethon-0.12.0/lib/ethon.rb:2:in `<top
(required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/ru
bygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/ru
bygems/core_ext/kernel_require.rb:54:in `require'
/Library/Ruby/Gems/2.6.0/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in `<top
(required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/ru
bygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/ru
bygems/core_ext/kernel_require.rb:54:in `require'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/sources_manager.rb:74:in `cdn_url?'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/sources_manager.rb:36:in `create_source_with_url'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/sources_manager.rb:21:in `find_or_create_source_with_url'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/installer/analyzer.rb:178:in `block in sources'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/installer/analyzer.rb:177:in `map'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/installer/analyzer.rb:177:in `sources'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/installer/analyzer.rb:1073:in `block in resolve_dependencies'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/user_interface.rb:64:in `section'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/installer/analyzer.rb:1072:in `resolve_dependencies'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/installer/analyzer.rb:124:in `analyze'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/installer.rb:414:in `analyze'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/installer.rb:239:in `block in resolve_dependencies'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/user_interface.rb:64:in `section'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/installer.rb:238:in `resolve_dependencies'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/installer.rb:160:in `install!'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in
`run'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/lib/coco
apods/command.rb:52:in `run'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/gems/cocoapods-1.10.1/bin/pod:
55:in `<top (required)>'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/bin/pod:23:in `load'
/opt/homebrew/Cellar/cocoapods/1.10.1/libexec/bin/pod:23:in `<main>'
```
Error output from CocoaPods:
?
[!] Automatically assigning platform `iOS` with version `9.0` on target
`Runner` because no platform was specified. Please specify a platform for
this target in your Podfile. See
`https://guides.cocoapods.org/syntax/podfile.html#platform`.
我尝试创建一个新的 Flutter 应用程序并运行它,它运行良好,但是当我pubspec.yaml再次向它添加依赖项时,显示了相同的错误。
我的依赖列表
- 国际:^0.16.1
- firebase_core:^0.5.0+1
- firebase_analytics:^6.0.2
- firebase_crashlytics:^0.2.1+1
- firebase_auth:^0.18.1+2
- firebase_database:^4.1.1
- firebase_messaging:^7.0.3
- cloud_firestore:^0.14.1+3
- firebase_storage: ^4.0.1
- firebase_ml_vision:^0.9.7
- firebase_dynamic_links:^0.6.0+2
- firebase_remote_config: ^0.4.0+2
- 阅读更多:^1.0.0
- 喜欢按钮:^1.0.1
- 时间前:^2.0.26
- eyro_toast: ^0.1.0
- 快速动作:^0.4.0+10
- 振动:^1.4.0
- 接收共享意图:^1.4.0+2
- cached_network_image: ^2.2.0+1
- full_screen_image: ^1.0.2
- flutter_native_image: ^0.0.5+2
- 图像选择器:^0.6.7+4
- image_cropper:^1.2.3
- flutter_blurhash: ^0.5.0
- 链接:^2.1.0
- Liquid_progress_indicator:^0.3.2
- material_tag_editor:^0.0.2
- carousel_slider: ^2.2.1
- Liquid_pull_to_refresh: ^2.0.0
- 动画闪屏:^1.0.0+1
- 可扩展:^4.1.4
- 颤振链接:^3.1.3
- flutter_parsed_text: ^1.2.4
- url_launcher: ^5.5.0
- octo_image: ^0.2.1
- Smooth_page_indicator: ^0.2.0
- 微光:^1.1.1
- 分页视图:^1.0.3+2
- scrollable_positioned_list: ^0.1.7
- 地理编码器:^0.2.1
- 位置:^3.0.2
- inview_notifier_list: ^1.0.0
- 分享:^0.6.5+2
- 可见性检测器:^0.1.5
- 动画:^1.1.2
- 本机状态:^1.1.1
- 故事视图:^0.12.3
- 文件选择器:^1.13.3
- 哑剧:^0.9.7
- 颤振颜色选择器:^0.3.4
- 视频播放器:^0.10.12+2
- dotted_border: ^1.0.6
- step_progress_indicator:^0.2.4+7
- timer_count_down: ^1.0.4+1
- flutter_staggered_grid_view: ^0.3.2
- flutter_local_notifications: ^1.4.4+4
- 应用设置:^4.0.4
- flutter_svg:^0.19.0
- flutter_slidable: ^0.5.7
- preload_page_view: ^0.1.4
- custom_navigation_bar: ^0.3.2
- 页面转换:^1.1.7+2
- 立方体转换:^1.0.2
- 提供者:^4.3.2+2
- 延迟显示:^1.0.3
- 增压:^1.10.0
- 图像:^2.1.18
- 路径提供者:^1.6.18
- 元:^1.1.6
- 位图:^0.0.6
- 数字选择器:^1.2.1
- image_gallery_saver: ^1.6.0
- 权限处理程序:^5.0.1+1
- 音频:^3.0.10
- 设备预览:^0.4.8
- 图像编辑器:^0.7.3
- 扩展图像:^1.3.0
- flutter_credit_card: ^0.1.3
- 条纹支付:^1.0.8
- 图表颤振:^0.9.0
- flutter_native_admob: ^2.1.0+3
- mask_text_input_formatter: ^1.1.0
- shared_preferences: ^0.5.12+4
- 颤振图标:^1.1.0
- 介绍_屏幕:^1.0.9
- property_change_notifier: ^0.2.0
- 截图:^0.2.0
- auto_size_text: ^2.1.0
- 响应颤振:^0.0.4
- Cupertino_icons:^1.0.0
在MacBook Pro ( M1 )上运行
回答
您需要ffi手动安装依赖项。这是 GitHub 上的相同问题:https : //github.com/flutter/flutter/issues/70796。此外,如果您在 M1 上构建或运行应用程序时遇到问题,请访问GitHub 上的 Wiki 页面,其中包含使用指南和此问题以跟踪新 Mac 的当前支持阶段。