移至 M1 Mac 后在 iOS 上运行 Flutter App 时出错

时间:2021-01-19 04:00:31

标签: ios xcode flutter

我最近将我的项目转移到了我的 M1 MacBook Pro。但是在 iPhone 12 Pro Max Simulator 上运行 flutter run 时出现以下错误。

    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
  • like_button:^1.0.1
  • 时间前:^2.0.26
  • eyro_toast:^0.1.0
  • quick_actions:^0.4.0+10
  • 振动:^1.4.0
  • receive_sharing_intent:^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
  • animated_splash_screen:^1.0.0+1
  • 可扩展:^4.1.4
  • flutter_linkify:^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
  • visibility_detector:^0.1.5
  • 动画:^1.1.2
  • native_state:^1.1.1
  • 故事视图:^0.12.3
  • file_picker:^1.13.3
  • 哑剧:^0.9.7
  • flutter_colorpicker:^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
  • app_settings:^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
  • page_transition:^1.1.7+2
  • cube_transition:^1.0.2
  • 提供商:^4.3.2+2
  • 延迟显示:^1.0.3
  • 增压:^1.10.0
  • 图片:^2.1.18
  • path_provider:^1.6.18
  • 元:^1.1.6
  • 位图:^0.0.6
  • 数字选择器:^1.2.1
  • image_gallery_saver:^1.6.0
  • permission_handler:^5.0.1+1
  • dio:^3.0.10
  • device_preview:^0.4.8
  • 图像编辑器:^0.7.3
  • extended_image:^1.3.0
  • flutter_credit_card:^0.1.3
  • stripe_payment:^1.0.8
  • charts_flutter:^0.9.0
  • flutter_native_admob:^2.1.0+3
  • mask_text_input_formatter:^1.1.0
  • shared_preferences:^0.5.12+4
  • flutter_icons:^1.1.0
  • introduction_screen: ^1.0.9
  • property_change_notifier:^0.2.0
  • 截图:^0.2.0
  • auto_size_text:^2.1.0
  • responsive_flutter:^0.0.4
  • cupertino_icons:^1.0.0

MacBook Pro (M1) 上运行

1 个答案:

答案 0 :(得分:4)

您需要手动安装 ffi 依赖项。以下是 GitHub 上的相同问题:https://github.com/flutter/flutter/issues/70796。此外,如果您在 M1 上构建或运行应用程序时遇到问题,请访问 Wiki page on GitHub 和使用指南以及 this issue 以跟踪新 Mac 的当前支持阶段。