Flutter Xcode 15 БОЛЬШАЯ проблема - файл Flutter/Flutter.h не найден, а SDK не содержит libarclite по пути

Все началось с сообщения «Вы не можете загрузить свое приложение с помощью текущего Xcode» при проверке и распространении приложения из Xcode.

https://developer.apple.com/news/upcoming-requirements/?id=04292024a

К сожалению, я попробовал 29-го числа; если бы я попробовал на день раньше, мне бы не пришлось с этим сталкиваться...

Я обновил Xcode до версии 15 (что также потребовало обновления моей MacOS до Sonoma — как вы понимаете, мы внесли два изменения одновременно), и я перепробовал все мыслимые решения за последние 3 дня. Я не могу припомнить, чтобы когда-либо раньше я так сильно боролся с какой-либо проблемой. Я попробовал более 20 решений и постоянно получаю такие ошибки, как:

«SDK не содержит «libarclite» по пути»

или

Лексическая проблема или проблема препроцессора (Xcode): файл Flutter/Flutter.h не найден (ПОСЛЕДНЯЯ ОШИБКА)

Подфайл:(Наконец, менял более 10 раз, всегда сталкивался с проблемой)

# Uncomment this line to define a global platform for your project
platform :ios, '12.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|
    target.build_configurations.each do |config|
      config.build_settings["IPHONEOS_DEPLOYMENT_TARGET"] = "11.0"
    end
  end
end

Как я могу решить свою проблему?

pubspec.yaml

name: example
description: example.

publish_to: 'none' # Remove this line if you wish to publish to pub.dev

version: 1.5.3+18 

environment:
  sdk: '>=2.12.0 <3.0.0'

dependencies:
  flutter:
    sdk: flutter

  badges: ^2.0.1
  cached_network_image: ^3.0.0
  cloud_firestore: ^2.3.0
  cupertino_icons: ^1.0.3
  dots_indicator: ^2.0.0
  easy_localization: ^3.0.0
  firebase_auth: ^2.0.0
  firebase_core: ^1.3.0
  firebase_messaging: ^10.0.3
  firebase_storage: ^9.0.0
  flutter_web_browser: ^0.14.0
  flutter_html: any
  #flutter_html: ^2.1.0
  flutter_widget_from_html: ^0.8.5
  #flutter_widget_from_html: ^0.6.1
  google_fonts: ^2.1.0
  google_sign_in: ^5.0.4
  html: ^0.15.0
  html_unescape: ^2.0.0
  image_picker: ^0.8.1+3
  intl: ^0.17.0
  introduction_screen: ^2.1.0
  launch_review: ^3.0.1
  line_icons: ^2.0.1
  lottie: ^1.1.0
  package_info: ^2.0.2
  path_provider: ^2.0.2
  provider: ^6.0.0
  #provider: ^5.0.0
  share: ^2.0.4
  shared_preferences: ^2.0.6
  skeleton_text: ^3.0.0
  fluttertoast: ^8.0.7
  url_launcher: ^6.0.9
  youtube_player_flutter: ^8.0.0
  youtube_plyr_iframe: ^2.0.7
  rounded_loading_button: ^2.0.5
  firebase_analytics: ^8.1.2
  flutter_facebook_auth: ^3.5.0
  the_apple_sign_in: ^1.1.1
  video_player: ^2.1.10
  #flick_video_player: ^0.3.1
  flutter_icons:
    git:
      url: https://github.com/adarsh-technocrat/flutter-icons
  md2_tab_indicator:
    git:
      url: https://github.com/westdabestdb/md2_tab_indicator
      
  purchases_flutter: ^4.10.3


dependency_overrides:
  flutter_math_fork: ^0.6.0
  


dev_dependencies:
  flutter_test:
    sdk: flutter

  flutter_launcher_icons: "^0.9.0"

flutter_icons:
  android: "launcher_icon"
  ios: true
  remove_alpha_ios: true #added later.
  image_path: "assets/images/icon.png"



# The following section is specific to Flutter.
flutter:

  uses-material-design: true

  assets:
    - assets/images/
    - assets/animation_files/
    - assets/translations/

  fonts:

    - family: Poppins
      fonts:
        - asset: assets/fonts/Poppins-Light.ttf
          weight: 400
        - asset: assets/fonts/Poppins-Regular.ttf
          weight: 500
        - asset: assets/fonts/Poppins-Medium.ttf
          weight: 600
        - asset: assets/fonts/Poppins-SemiBold.ttf
          weight: 700
        - asset: assets/fonts/Poppins-Bold.ttf
          weight: 800

    - family: Open Sans
      fonts:
        - asset: assets/fonts/OpenSans-Light.ttf
          weight: 400
        - asset: assets/fonts/OpenSans-Regular.ttf
          weight: 500

    - family: Manrope
      fonts:
        # - asset: assets/fonts/Manrope-Light.ttf
        #   weight: 300
        - asset: assets/fonts/Manrope-Regular.ttf
          weight: 400
        - asset: assets/fonts/Manrope-SemiBold.ttf
          weight: 500
        - asset: assets/fonts/Manrope-Medium.ttf
          weight: 600
        - asset: assets/fonts/Manrope-Bold.ttf
          weight: 700
        - asset: assets/fonts/Manrope-ExtraBold.ttf
          weight: 900

Похоже, что разработка приложений для iOS с помощью Flutter с использованием Xcode 15 может уйти в прошлое.

Flutter 3.3.4
Dart 2.18.2

287
1

Ответ:

Решено

Наконец-то я решил свою проблему... Что я сделал?

После обновления до Xcode15 я подумал, что проблема может быть связана с моими версиями Flutter и Cocoapods.

  • Я обновил свою версию Flutter до последней версии.
  • Я обновил свою версию Cocoapods до последней версии. Сначала удалил, затем установил... Используйте sudo для удаления и установки...
  • Я создал платформу: ios, «13.0» в Podfile. Спасибо @Paulw11. и последние строки:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end
  • Я обновил все зависимости flutter pub upgrade --major-versions и при необходимости исправил исходный код, указав их новое использование.
  • Я исправил некоторые части моего исходного кода (связанные с версией Flutter), поскольку использование некоторых библиотек было изменено в последней версии Flutter. https://api.flutter.dev
  • Я столкнулся с десятками проблем и старательно решил их все. Это заняло 1-2 дня. ТАК ответы мне очень помогли.

(Минимальная версия по-прежнему 12.0, понятия не имею, но ее можно запустить без проблем)

Не забудьте снова добавить GoogleService-Info.plist из Xcode с помощью «Добавить файлы в Runner» в Xcode, если вы это делали раньше (для проектов Firebase).

Наконец, мой проект можно запустить на реальных iPhone и в симуляторе.

Мой компьютер: М1, 2020 МБП.

Спасибо платформе SO.