Flutter: "Flutter / Flutter.h не найден". на iOS.

Созданный на 28 мар. 2018  ·  157Комментарии  ·  Источник: flutter/flutter

Действия по воспроизведению

Предисловие:

Я нахожусь на канале flutter master и полчаса назад запустил upgrade .
Раньше я полностью переустанавливал flutter и cocoapods и пробовал исправления, представленные в # 15437, # 15532, и все другие проблемы на GitHub, похожие на мою проблему. _

flutter create --template=plugin -i swift health_stats
cd health_stats/example

health_stats.zip

Журналы

_Запустите приложение с помощью flutter run и прикрепите весь вывод журнала. _

Launching lib/main.dart on iPhone 6 in debug mode...
Running Xcode clean...                                       0,9s
Starting Xcode build...
Xcode build done                                             1,1s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET health_stats OF PROJECT Pods WITH CONFIGURATION Debug ===
    <module-includes>:1:9: note: in file included from <module-includes>:1:
    #import "Headers/health_stats-umbrella.h"
            ^
    /Users/jeroen/Projects/_flutter_experiments/health_stats/example/ios/Pods/Target Support Files/health_stats/health_stats-umbrella.h:13:9: note: in file included from /Users/jeroen/Projects/_flutter_experiments/health_stats/example/ios/Pods/Target Support Files/health_stats/health_stats-umbrella.h:13:
    #import "HealthStatsPlugin.h"
            ^
    /Users/jeroen/Projects/_flutter_experiments/health_stats/ios/Classes/HealthStatsPlugin.h:1:9: error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^
    <unknown>:0: error: could not build Objective-C module 'health_stats'
Could not build the application for the simulator.
Error launching application on iPhone 6.

_Запустить flutter analyze и также прикрепить любой вывод этой команды.

Analyzing /Users/jeroen/Projects/_flutter_experiments/health_stats/example...
No issues found!
Ran in 5.7s

Доктор Флаттера

_Вставьте сюда вывод выполнения flutter doctor -v _

[✓] Flutter (Channel master, v0.2.5-pre.60, on Mac OS X 10.13.3 17D102, locale nl-NL)
    • Flutter version 0.2.5-pre.60 at /Users/Jeroen/flutter
    • Framework revision 31049a5a73 (64 minutes ago), 2018-03-28 10:58:48 -0700
    • Engine revision dd6f46c485
    • Dart version 2.0.0-dev.41.0.flutter-2f68e82526

[✓] Android toolchain - develop for Android devices (Android SDK 26.0.3)
    • Android SDK at /Users/jeroen/Library/Developer/Xamarin/android-sdk-macosx
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 26.0.3
    • ANDROID_HOME = /Users/jeroen/Library/Developer/Xamarin/android-sdk-macosx
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode-beta.app/Contents/Developer
    • Xcode 9.3, Build version 9Q127n
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.0.beta.1

[✓] Android Studio (version 3.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] VS Code (version 1.21.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Dart Code extension version 2.11.1

[✓] Connected devices (1 available)
    • iPhone 6 • B93E29EC-05E0-4948-B369-BB8B2347823D • ios • iOS 11.3 (simulator)

• No issues found!

Дополнительная информация

Создание и запуск обычного проекта отлично работает:
flutter create regular
cd regular
flutter run

Launching lib/main.dart on iPhone 6 in debug mode...
Running Xcode clean...                                       0,9s
Starting Xcode build...
 ├─Assembling Flutter resources...                    3,4s
 └─Compiling, linking and signing...                  5,1s
Xcode build done                                             9,7s
Syncing files to device iPhone 6...                          2,0s

🔥  To hot reload your app on the fly, press "r". To restart the app entirely, press "R".
An Observatory debugger and profiler on iPhone 6 is available at: http://127.0.0.1:8100/
For a more detailed help message, press "h". To quit, press "q".

Однако при добавлении зависимости типа path_provider :

...
dependencies:
  flutter:
    sdk: flutter
  path_provider: ^0.4.0 [ADDED THIS LINE]
...

а затем flutter packages get ,

[regular] flutter packages get
Running "flutter packages get" in regular...
exit code 0

flutter run производит следующее:

Launching lib/main.dart on iPhone 6 in debug mode...
Running pod install...                                       1,0s
Running Xcode clean...                                       0,9s
Starting Xcode build...
Xcode build done                                             1,4s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET path_provider OF PROJECT Pods WITH CONFIGURATION Debug ===
    In file included from /Users/jeroen/.pub-cache/hosted/pub.dartlang.org/path_provider-0.4.0/ios/Classes/PathProviderPlugin.m:5:
    /Users/jeroen/.pub-cache/hosted/pub.dartlang.org/path_provider-0.4.0/ios/Classes/PathProviderPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone 6.

У меня не было path_provider version 0.4.0 в моей папке пакетов dart до запуска приложения, так что это новая копия.

Мне нужно, чтобы это работало как можно скорее, так как мне нужно скоро сделать приложение для нашей компании.

Самый полезный комментарий

@miguelpruivo Скопируйте Podfile подходящий для вашего проекта, из Flutter master в ios/Podfile вашего проекта и удалите ios/Podfile.lock . Используйте версию ObjC, если ваш проект Flutter не был создан с помощью -i swift .

Все 157 Комментарий

В проекте health_stats ваш example/ios/Podfile выглядит почти на целый день старше, чем example/ios/Podfile.lock . Возможно, первое откуда-то скопировано? Я считаю, что следствием того, что Podfile старше Podfile.lock является то, что pod install не выполняется как часть flutter run . Это согласуется с выводом журнала в начале раздела Журналы.

Могу я попросить вас удалить example/ios/Podfile.lock и повторить попытку flutter run в health_stats ?

(Тем временем я попытаюсь воспроизвести ошибку проекта regular .)

Большое спасибо за быстрый ответ.

Я создал этот проект около часа назад (IIRC), поэтому все создается заново, поэтому я не знаю, насколько даты так несовместимы.

Я удалил example/ios/Podfile.lock в проекте health_stats и запустил flutter run , к сожалению, безрезультатно.

Launching lib/main.dart on iPhone 6 in debug mode...
Running pod install...                                       1,0s
Running Xcode clean...                                       0,9s
Starting Xcode build...
Xcode build done                                             1,2s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET health_stats OF PROJECT Pods WITH CONFIGURATION Debug ===
    <module-includes>:1:9: note: in file included from <module-includes>:1:
    #import "Headers/health_stats-umbrella.h"
            ^
    /Users/jeroen/Projects/_flutter_experiments/health_stats/example/ios/Pods/Target Support Files/health_stats/health_stats-umbrella.h:13:9: note: in file included from /Users/jeroen/Projects/_flutter_experiments/health_stats/example/ios/Pods/Target Support Files/health_stats/health_stats-umbrella.h:13:
    #import "HealthStatsPlugin.h"
            ^
    /Users/jeroen/Projects/_flutter_experiments/health_stats/ios/Classes/HealthStatsPlugin.h:1:9: error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^
    <unknown>:0: error: could not build Objective-C module 'health_stats'
Could not build the application for the simulator.
Error launching application on iPhone 6.

Изменить : вот новый Podfile.lock

Podfile.lock.zip

Теперь вы получили строку Running pod install... в вашем выводе. ОК, тогда исключил это.

Мне не удалось воспроизвести ошибку, возникающую в проекте regular .

Только что заметил, что ваша установка Cocoapods - 1.5.0.beta.1. Насколько мне известно, инструменты Flutter не тестировались с этой версией. У меня проект regular работает с зависимостью path_provider с использованием Flutter master и Cocoapods 1.4.0.

Хорошо, спасибо за проверку.

Я удалил Cocoapods, используя gem и установил версию 1.4.0 (используя sudo gem install cocoapods -v 1.4.0 ), но, к сожалению, получил тот же результат, что и раньше.

Вы переделывали установку модуля после перехода на более раннюю версию Cocoapods? У меня также работает проект health_stats после удаления example/ios/Podfile.lock и example/ios/Pods/ .

И flutter clean .

Что ж, после запуска pod install внутри папки example/ios health_stats работает!

К сожалению, проделав то же самое для regular и запустив его, я все еще получаю следующее:

Launching lib/main.dart on iPhone 6 in debug mode...
Running Xcode clean...                                       0,8s
Starting Xcode build...
Xcode build done                                             1,1s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET path_provider OF PROJECT Pods WITH CONFIGURATION Debug ===
    In file included from /Users/jeroen/.pub-cache/hosted/pub.dartlang.org/path_provider-0.4.0/ios/Classes/PathProviderPlugin.m:5:
    /Users/jeroen/.pub-cache/hosted/pub.dartlang.org/path_provider-0.4.0/ios/Classes/PathProviderPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone 6.

Я должен упомянуть, что я получил эту ошибку еще до установки Cocoapods 1.5.0.beta.1.
Так что, по-видимому, это две отдельные проблемы.

Редактировать:
Журнал для pod install внутри regluar :

~/Projects/_flutter_experiments/regular/ios > pod install

Analyzing dependencies
Fetching podspec for `Flutter` from `Pods/.symlinks/flutter/ios`
Fetching podspec for `path_provider` from `Pods/.symlinks/plugins/path_provider-0.4.0/ios`
Downloading dependencies
Using Flutter (1.0.0)
Using path_provider (0.0.1)
Generating Pods project
Integrating client project
Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.

[!] Automatically assigning platform `ios` with version `8.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`.

Могу я попросить вас прикрепить почтовый индекс вашего проекта regular ? Мне любопытно, какая разница делает это для вас неудачным и работает на меня.

Конечно, вот и все:
https://nofile.io/f/G91uVSR6HYO/regular.zip
(Файл кажется слишком большим для GitHub.)

Ваш подфайл в regular , похоже, не содержит исправления # 15437.

О каком исправлении вы говорите?

Если вы имели в виду этот обходной путь:

    target.headers_build_phase.files.each do |file|
      file.settings = { 'ATTRIBUTES' => ['Public'] }
    end

Я просто добавил его, удалил Podfile.lock , запустил pod install в папке ios и запустил flutter run , но все равно получил тот же результат.

Извините, это моя ошибка. Это исправление актуально только для проектов Swift.

Без проблем. Хотя это очень полезно знать.

Есть другие предложения?

Боюсь, что сейчас нет. Я не могу воспроизвести полученную вами ошибку.

Я понимаю.

Я хочу попробовать переустановить все, что могу, и посмотреть, исправит ли это что-нибудь.
Возможно, у вас есть список инструментов и программ, которые использует флаттер, чтобы я мог удалить и переустановить все это, включая зависимости, которые устанавливаются на стороне?

Например:

- flutter
- cocoapods
...

flutter doctor -v должно дать вам некоторое представление. Для iOS мой говорит

[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.2, Build version 9C40b
    • ios-deploy 1.9.2
    • CocoaPods version 1.4.0

Можно надеяться, что достаточно воссоздать проект regular сейчас, когда вы понизили свою версию Cocoapods.

У меня такая же ошибка:

Launching lib/main.dart on iPhone X in debug mode...
Running Xcode clean...                                       1.3s
Starting Xcode build...
Xcode build done                                             1.5s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET audioplayer OF PROJECT Pods WITH CONFIGURATION Debug ===
    In file included from /Users/dlutton/.pub-cache/hosted/pub.dartlang.org/audioplayer-0.4.0/ios/Classes/AudioplayerPlugin.m:1:
    /Users/dlutton/.pub-cache/hosted/pub.dartlang.org/audioplayer-0.4.0/ios/Classes/AudioplayerPlugin.h:1:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone X.

Хорошо, проблема была в использовании бета-версии cocoapods. Это сработало после перехода на более раннюю версию.

Спасибо за отчет. К сожалению, я тоже использую 1.4.0, но все еще получаю эту ошибку. Когда я буду дома, я попробую посмотреть, что я могу сделать.

@ 0916174
И у меня, и у другого человека в приложении чата flutter gitter была такая же проблема, когда мы использовали бета-версию cocoapods. Мы оба перешли на версию 1.4 -> удалили файл Podfile.lock -> удалили каталог pods -> запустили flutter clean -> выполнили установку pod -> запуск flutter работал у нас обоих после выполнения этих шагов.

Спасибо за предложение. Я пробовал это только сейчас. Это тоже не сработало для меня. Пытаюсь выполнить полную переустановку Mac, но я действительно не с нетерпением жду этого и хочу избежать этого любой ценой.

Я столкнулся с аналогичной проблемой в моем примере проекта:

Launching lib/main.dart on iPhone X in debug mode...
Running Xcode clean...                                       1.2s
Starting Xcode build...
Xcode build done                                             2.7s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    In file included from .../.pub-cache/hosted/pub.dartlang.org/video_player-0.3.0/ios/Classes/VideoPlayerPlugin.m:5:
    .../.pub-cache/hosted/pub.dartlang.org/video_player-0.3.0/ios/Classes/VideoPlayerPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone X.

доктор -v вывод:

[✓] Flutter (Channel dev, v0.2.4, on Mac OS X 10.13.3 17D47, locale en-US)
    • Flutter version 0.2.4 at .../tools/flutter/flutter
    • Framework revision 3352a3fb48 (2 weeks ago), 2018-03-20 19:30:06 +0100
    • Engine revision 6280adbfb1
    • Dart version 2.0.0-dev.39.0.flutter-06949dc985
...
✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.4.0

попробовал все вышеупомянутые шаги.

Я только что попробовал, и у меня возникла аналогичная проблема с новым созданным проектом - даже когда я пробовал быстро использовать язык -i option

Единственное отличие, которое я вижу, - это канал / версия Flutter.

[✓] Flutter (Channel beta, v0.2.3, on Mac OS X 10.13.4 17E199, locale en-US)
    • Flutter version 0.2.3 at /Users/dlutton/flutter/flutter
    • Framework revision 5a58b36e36 (3 weeks ago), 2018-03-13 13:20:13 -0700
    • Engine revision e61bb9ac3a
    • Dart version 2.0.0-dev.35.flutter-290c576264

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.4.0

Я исправил это, удалив зависимость из pubspec.yaml -> запустите pod update -> снова добавив зависимость -> запустите pod update

Я переключил канал на бета-версию при флаттере, и он работает нормально.

Я могу последовательно воспроизвести ошибку, используя Cocoapods 1.5.0 (недавно выпущенный) и недавно созданные проекты Flutter (от мастера Flutter).

Похоже, что Cocoapods 1.5.0 обрабатывает символические ссылки иначе, чем некоторые более ранние версии, что приводит к ситуации, когда модуль Flutter фактически пуст внутри проекта Xcode.

Исправление # 16273, похоже, решает проблему. Вы можете вручную внести это изменение в ios/Podfile в существующем проекте, а затем удалить ios/Podfile.lock и ios/Pods/ .

Я проверил, что измененные подфайлы работают как с Cocoapods 1.4.0, так и с Cocoapods 1.5.0. Мне пока не удалось воспроизвести проблему с первым.

Спасибо за это предложение.
Полностью удалил cocoapods и запустил brew install cocoapods . Как и ожидалось, он установил 1.5.0. Я запустил pod setup , flutter channel master , flutter upgrade и создал новый проект, добавил зависимость path_provider как и раньше, и запустил его. По-прежнему получаю тот же результат.

Редактировать

Я заметил это в выводе для запуска pod update в папке ios:

...
Analyzing dependencies
Fetching podspec for `Flutter` from `Pods/.symlinks/flutter/ios`
Fetching podspec for `path_provider` from `Pods/.symlinks/plugins/path_provider/ios`
Downloading dependencies
Using Flutter (1.0.0)
Using path_provider (0.0.1)
...

Верны ли эти номера версий для Flutter и path_provider ? Разве версия path_provider должна быть 0.4.0 как я определил в файле pubspec.yaml ?

Плагины Flutter на самом деле не используют версии Pod, поэтому все они остаются на уровне 0.0.1 или что-то еще.

Обновление Flutter не даст вам новый ios/Podfile , потому что инструменты Flutter не перезаписывают его, если он уже существует. Вам нужно вручную отредактировать его с изменениями # 16273 или удалить, после чего flutter run создаст его заново. Вам может потребоваться удалить ios/Podfile.lock и ios/Pods перед выполнением flutter run .

Edit: извините, я пропустил место, где вы пишете «создал новый проект».

@ 0916174 Я не могу воспроизвести с помощью недавно обновленного мастера Flutter (включая # 16273).

$ flutter --version
Flutter 0.2.10-pre.28 • channel master • [email protected]:flutter/flutter.git
Framework • revision d0c0426007 (2 hours ago) • 2018-04-05 14:06:00 -0700
Engine • revision be070599a3
Tools • Dart 2.0.0-dev.46.0.flutter-3e6b8717fe
$ git log
commit d0c0426007c0657703e5a066bf235b06de9894ee (HEAD -> master, upstream/master)
Author: Siva <[email protected]>
Date:   Thu Apr 5 14:06:00 2018 -0700

    Roll engine to version be070599a30413bd203f2d77d2179220c5569c08 (#16264)

    * Roll engine to version be070599a30413bd203f2d77d2179220c5569c08
    (includes a roll of dart to version 3e6b8717fedce5cc28a21616f4591683c211f752

commit 06b208f3535af13286efc34ddd83621f4f20c907
Author: Mikkel Nygaard Ravn <[email protected]>
Date:   Thu Apr 5 22:47:03 2018 +0200

    Make Podfiles work with Cocoapods 1.5.0 (#16273)

Странный. При создании нового проекта вы используете несуществующую папку? Инструменты Flutter не перезаписывают старый контент проекта.

Да, я создал новый проект под названием newregular . Я никогда не делал проектов с таким названием.

$ flutter --version
Flutter 0.2.10-pre.28 • channel master • https://github.com/flutter/flutter.git
Framework • revision d0c0426007 (2 hours ago) • 2018-04-05 14:06:00 -0700
Engine • revision be070599a3
$ git log
commit d0c0426007c0657703e5a066bf235b06de9894ee (HEAD -> master, origin/master,
origin/HEAD)
Author: Siva <[email protected]>
Date:   Thu Apr 5 14:06:00 2018 -0700

    Roll engine to version be070599a30413bd203f2d77d2179220c5569c08 (#16264)

    * Roll engine to version be070599a30413bd203f2d77d2179220c5569c08
    (includes a roll of dart to version 3e6b8717fedce5cc28a21616f4591683c211f752

commit 06b208f3535af13286efc34ddd83621f4f20c907
Author: Mikkel Nygaard Ravn <[email protected]>
Date:   Thu Apr 5 22:47:03 2018 +0200

    Make Podfiles work with Cocoapods 1.5.0 (#16273)

@ 0916174 Только что понял, что вы используете более новую версию Xcode, чем я - я использую Xcode 9.2 (9C40B).

Я обновлюсь и посмотрю, изменит ли это что-нибудь для меня.

Только что скачали и установили Xcode 9.3. У меня все еще отлично работает, чтобы создать новый проект Flutter с мастером, добавить зависимость path_provider , а затем flutter run для iOS. @ 0916174 Версия сборки моего Xcode - 9E145, которая отличается от вашей.

При повторном открытии нам все еще нужно выяснить, почему это не работает для @ 0916174.

У меня такая же или очень похожая ошибка.
`` Не удалось создать приложение для iOS.
Вывод ошибки из сборки Xcode:

* СБОЙ СОЗДАТЬ *

Вывод Xcode:

=== СОЗДАТЬ ЦЕЛЬ firebase_auth ПОД ПРОЕКТАМИ С КОНФИГУРАЦИЕЙ Отладка ===
В файле, включенном из /Users/username/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_database-0.0.12/ios/Classes/FirebaseDatabasePlugin.m:5:
/Users/username/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_database-0.0.12/ios/Classes/FirebaseDatabasePlugin.h:5:9: фатальная ошибка: файл 'Flutter / Flutter.h' не нашел
#Импортировать
`` ''
У меня ошибка отсутствия Flutter / Flutter.h для каждого плагина
Эта ошибка появляется после того, как я сменил компьютер для разработки, поэтому проект был запущен, пока я использовал предыдущее устройство. На новом я выполнил полную установку flutter sdk и получил это при попытке запустить проект.
Но я попытался скопировать https://github.com/flutter/friendlychat-steps/tree/master/full_steps, и он хорошо работает

Это та же ошибка (просто другая зависимость).
Так что проблема связана с конкретной машиной или, скорее, с чем-то общим, что есть у вашей и моей новой машины.

Похоже, это проблема с cocoapods https://github.com/CocoaPods/CocoaPods/issues/7594

Хорошо, похоже, я решил эту проблему. Поскольку это проблема с самими cocoapods, я просто удалил cocoapods со своей машины и установил версию 1.4 с gem.
sudo gem install cocoapods -v 1.4
затем обновите поды в папке ios /
cd ios
pod update
после этого мой проект оживает на симуляторе

@ Zmeu213 Могу я спросить, какую версию Xcode, включая версию сборки, вы используете?

@ mravn-google, конечно
xcode версии 9.3 (9E145)
Flutter 0.2.9 • разработка канала • https://github.com/flutter/flutter.git
Framework • ревизия 487e6bc91e (3 дня назад) • 2018-04-03 10:59:12 -0700
Двигатель • ревизия 04f3c6557c
Инструменты • Dart 2.0.0-dev.43.0.flutter-52afcba357
Android Studio 3.1
Сборка № AI-173.4670197, построена 22 марта 2018 г.
JRE: 1.8.0_152-выпуск-1024-b01 x86_64
JVM: 64-разрядная серверная виртуальная машина OpenJDK от JetBrains sro
Mac OS X 10.13.4
кокосовые стручки 1.4.0
опера 52.0.2871.40 (:

@ Zmeu213 Большое спасибо. Вы пробовали, если Cocoapods 1.5.0 работает для вас с мастером Flutter, поэтому после того, как https://github.com/flutter/flutter/pull/16273 приземлился? (Может потребоваться создание нового проекта Flutter и добавление к нему зависимости плагина для проверки)

Не уверен. Я несколько раз переключал flutter на master и dev, переустанавливал его и принудительно обновлял pod'ы. Но я не создавал новый проект с установленным cocoapods 1.5. Я не знаю, какая версия cocoapods была установлена ​​на предыдущей машине, это также может быть проблемой при переходе с 1.4 на 1.5. Я только запустил пример проекта firebase без изменений.

Исправление, предложенное @ Zmeu213 , тоже сработало для меня

Для тех, кто обновил Cocoapods с помощью Homebrew и до сих пор не очистил его кеш, вернитесь к 1.4 с помощью brew switch cocoapods 1.4.0 , затем cd ios && pod update
Теперь он должен скомпилироваться.

Хорошее исправление. Спасибо @ Zmeu213

Я согласен с тем, что исправление # 16273 решает проблему.
В моем случае ветка flutter git - бета-версия. Таким образом, фиксация # 16273 не применялась.

Я меняю ветку flutter git, как показано ниже.

CD флаттер
мастер проверки git
мерзавец тянуть
трепещущий доктор

И тогда, когда я создаю шаблонный проект, проблем со сборкой не возникает.

Обратите внимание, что уже существующие проекты не будут разрешены.
Вам необходимо регенерировать проект или вручную отредактировать файл ios / Podfile ( для swift или Object-C ) и удалить ios / Podfile.lock

Я думаю, что эта проблема возникает из-за трепета страницы « Начало работы: установка на macOS ».
Это потому, что есть старая версия ссылки для скачивания SDK.
Его следует изменить, чтобы клонировать последнюю версию, как показано ниже.

git clone -b master https://github.com/flutter/flutter.git
./flutter/bin/flutter --version

Ссылка https://flutter.io/sdk-archive/#macos

Я снова удалил cocoapods, используя brew и установил 1.4.0 в соответствии с решением @Zmeu213 и обновил flutter до последней основной версии, как и @bbongcol . Для меня он по-прежнему не компилируется, и я получаю тот же результат, что и всегда.

@ 0916174 Вы когда- три дня назад .

$ xcodebuild -version
Xcode 9.3
Build version 9E145

Я попробую выполнить новую установку из App Store. Я также копирую некоторые команды из коммита, чтобы посмотреть, поможет ли это.

Проект работает! При копировании следующего из Podfile @bbongcol мой проект теперь работает правильно:

...
  use_frameworks!
...
pre_install do |installer|
  # workaround for https://github.com/CocoaPods/CocoaPods/issues/3289
  Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
end
...
    target.headers_build_phase.files.each do |file|
      file.settings = { 'ATTRIBUTES' => ['Public'] }
    end

Я все равно получу новую версию Xcode на всякий случай.
Кажется, есть различия в Podfile между мной и @bbongcol, что моя установка flutter не включена в мои сгенерированные Podfile, но необходима для правильной работы. Есть ли способ где-нибудь включить эти строки, чтобы они автоматически включались при создании нового проекта?

Редактировать

Это мой вывод Xcode прямо сейчас:

$ xcodebuild -version
Xcode 9.3
Build version 9E145

Вроде то же самое.

Ах, хорошо, ваш Xcode уже обновлен до стабильной версии 9.3, переустанавливать не нужно. (12 дней назад вы использовали версию сборки 9Q127n, см. Начало сообщения).

Кажется, я переустановил его, когда пытался переустановить все, что здесь связано с флаттером.

Перечисленные выше различия Podfile необходимы для проектов Flutter на основе Swift, созданных с помощью -i swift .

Кажется, есть различия в Podfile между мной и @bbongcol, что моя установка flutter не включена в мои сгенерированные Podfile, но необходима для правильной работы. Есть ли способ где-нибудь включить эти строки, чтобы они автоматически включались при создании нового проекта?

Не знаете, что вы имеете в виду? Установка flutter содержит два шаблона Podfile , один для проектов Objective-C, один для проектов Swift. Предполагается, что они будут скопированы в ваш проект, когда вы добавите зависимость плагина и перестроите --- если у вас еще нет Podfile в вашем проекте, и в этом случае инструменты Flutter не перезаписывают его.

Перечисленные выше различия подфайлов необходимы для проектов Flutter на основе Swift, созданных с помощью -i swift.

Это странно, поскольку мой проект newregular только что построен и работает нормально. Однако при запуске другого проекта ( пример проекта на redux Брайана Игана ) он дал мне несколько ошибок, связанных с Dart.
Думаю, мне не следует использовать этот подфайл Swift? В этом случае мне нужно другое решение.

Swift Podfile вполне может работать и для проектов ObjC, мы просто не тестировали это.

Не знаете, что вы имеете в виду? ...

При попытке использовать подфайл, который я скопировал из @bbongcol , мой проект (обычный проект flutter create ... без -i swift ) был построен и работал нормально. Однако с Podfile, предоставленным flutter (без модификаций), он вылетает с ошибкой Flutter.h not found .
Я пытался сказать, что те строки, которые есть в подфиле Swift, необходимы для построения моего проекта. Это все.

Итак, теперь у нас есть решение, которое работает (с использованием -i swift Podfile), но не совсем хорошее решение, верно? Поскольку все говорят, что они могут создавать проекты без проблем. Тем не менее, это помогает сузить проблему.

Я не пробовал образцы проектов Брайана, но подозреваю, что они еще не обновлены, чтобы справляться с проверками типов среды выполнения Dart 2 . Если это так, вы сможете запускать их с флагом --no-preview-dart-2 .

Вау, это работает!
Так что я думаю, что в ближайшем будущем мне придется копировать этот подфайл во все мои новые проекты. Не постоянное решение, но достаточно хорошее, чтобы приступить к работе.

Большое спасибо за вашу помощь. Думаю, сейчас этот вопрос можно закрыть, если вы тоже сочтете его решенным.

Для людей, которые в будущем столкнутся с этой проблемой, попробуйте решения, указанные выше, или используйте этот подфайл (и запускайте старые проекты с помощью flutter run --no-preview-dart-2 ).

Что ж, это была недолгая победа.

Та же проблема, теперь с пакетом map_view.

pubspec.yaml:

...
  map_view: "^0.0.10"
...

У меня тоже была недолгая победа, но недавно выпущенная бета-версия 2 устранила проблему.

Beta 2, кажется, мне тоже подходит. Но на этот раз я не назвал свою победу слишком рано. Позвольте мне провести еще несколько тестов.

Я столкнулся с аналогичной проблемой. В итоге я создал новый проект флаттера со следующими настройками (в настоящее время отслеживая главный канал):

$ flutter doctor -v
[✓] Flutter (Channel master, v0.2.11-pre.23, on Mac OS X 10.13.4 17E199, locale en-US)
    • Flutter version 0.2.11-pre.23
    • Framework revision a2951a9a1f (3 hours ago), 2018-04-10 18:12:34 -0700
    • Engine revision ed303c628f
    • Dart version 2.0.0-dev.47.0.flutter-23ae4fa098

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).
      If Android SDK has been installed to a custom location, set $ANDROID_HOME to that location.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.0

[✗] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).

[!] Connected devices
    ! No devices available

! Doctor found issues in 3 categories.

Я сравнил Podfile из нового проекта и старого проекта, вот разница:

https://gist.github.com/bschwind/9bdaf094afa01ce7c4ca04c673d34821

Затем я удалил ios/Pods каталог, в ios/Podfile.lock файл, весь ~/.pub_cache каталог, побежал flutter clean , и , наконец , flutter run . После этого все заработало.

Кажется, проблема решена.

У меня сейчас другая проблема, похожая на проблемы №15152, №15168 и №15050. Я открою новую проблему для этой проблемы, поскольку на данный момент, похоже, нет четких ответов, чтобы исправить это, только обходные пути.

Как только я набрал это и перезапустил проект, ошибка вернулась из ниоткуда.
Я разочаровываюсь в забвении.

@ 0916174 Могу я попросить вас попробовать следующее:

  • убедитесь, что у вас установлен Cocoapods 1.5.0 (в pod --version должно быть указано 1.5.0 )
  • измените любые зависимости от плагинов firebase_xxx , google_sign_in или cloud_firestore на новейшие версии (ищите записи в журнале изменений, относящиеся к Cocoapods 1.5.0)
  • измените свой ios/Podfile на новейшую версию в основной ветке Flutter (https://github.com/flutter/flutter/tree/master/packages/flutter_tools/templates/cocoapods)
  • удалить ios/Podfile.lock и ios/Pods
  • переключиться на ветку мастера Flutter
  • flutter clean ; flutter run

Ср. # 16443, flutter / плагины # 483

Я так и сделал, та же ошибка.

Я только что вспомнил кое-что, что может иметь ценность. Когда я сказал: «Кажется, проблема решена». У меня была другая ошибка. Чтобы исправить это, я прокомментировал use_frameworks! в Podfile. Затем я получил ошибку Flutter.h not found. После этого я снова раскомментировал use_frameworks! как и до того, как получил ошибку, но ошибка не исчезла.
Я откажусь от этого и скоро переустановлю Mac. Я не вижу ничего, что могло бы это исправить.

Если у вас появятся какие-либо предложения, продолжайте. Спасибо за вашу помощь.

У вас должен быть use_frameworks! в вашем Podfile, только если ваш проект Flutter использует Swift

Я не понимаю, почему это закрыли @ 0916174 ? Я не понимаю, как решается эта проблема.

Понижение до 1.4.0 сработало, конечно, но не должно ли трепетать поддержка 1.5.0? Или это еще бета? тогда почему brew по умолчанию устанавливает бета-версию?

Я закрыл это, так как кажется, что это проблема с моей локальной машиной. Любое возможное решение не работало или временно работало, а затем снова перестало работать. Я открою его снова, так как это все еще проблема, да, но я переустановлю свою Mac OS (или куплю новую, пока я на ней).

На вопросы о флаттере и бета-версии лучше отвечают разработчики.

@ 0916174 Нет, я думаю, вы также нашли нормальную ошибку в 1.5.0

У меня такая же проблема

@ makalu-niko Сможете ли вы поделиться результатом файлов flutter doctor -v и pubspec.yaml и ios/Podfile в своем проекте?

Способ воспроизвести проблему:
flutter create sandbox
Добавьте google_sign_in: "^ 3.0.1" в pubspec.yaml
flutter run

Результаты казни:

$ flutter run
Running "flutter packages get" in sandbox...                 1,0s
Launching lib/main.dart on iPhone X in debug mode...
Running pod install...                                       1,5s
Running Xcode clean...                                       1,0s
Starting Xcode build...                                          
Xcode build done                                             2,5s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET google_sign_in OF PROJECT Pods WITH CONFIGURATION Debug ===
    In file included from /Users/Nicolas/flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in-3.0.1/ios/Classes/GoogleSignInPlugin.m:5:
    /Users/Nicolas/flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in-3.0.1/ios/Classes/GoogleSignInPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone X.

Результаты flutter doctor -v

[✓] Flutter (Channel beta, v0.2.8, on Mac OS X 10.13.4 17E199, locale fr-FR)
    • Flutter version 0.2.8 at /Users/Nicolas/flutter
    • Framework revision b397406561 (12 days ago), 2018-04-02 13:53:20 -0700
    • Engine revision c903c217a1
    • Dart version 2.0.0-dev.43.0.flutter-52afcba357

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).
      If Android SDK has been installed to a custom location, set $ANDROID_HOME to that location.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.0

[✗] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).

[✓] IntelliJ IDEA Community Edition (version 2018.1.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 23.2.3
    • Dart plugin version 181.4445.29

[✓] Connected devices (1 available)
    • iPhone X • 29F3E55E-BC01-496F-8399-E68DA6B195ED • ios • iOS 11.3 (simulator)

! Doctor found issues in 2 categories.`

pubspec.yaml.zip
Podfile.zip

@ makalu-niko Большое спасибо! Похоже, вы находитесь на бета-канале Flutter, и, следовательно, Podfile , генерируемый инструментами Flutter для вашего проекта sandbox не основан на новейшем шаблоне от мастера Flutter.

Таким образом, я могу воспроизвести ошибку с вашим Podfile , но не с версией на

Если вы замените sandbox/ios/Podfile этим и удалите sandbox/ios/Podfile.lock и sandbox/ios/Pods/ , тогда flutter clean ; flutter run должно работать.

Только что столкнулся с той же ошибкой, также с новым проектом. Я перепробовал почти все (так что на самом деле мой env мог быть изрядно запутанным), но пока никаких исправлений.

Шаги:

flutter create cocoatest

// blablabla
[✓] Flutter is fully installed. (Channel master, v0.2.12-pre.33, on Mac OS X 10.13.4 17E199, locale en-IT)
[✓] Android toolchain - develop for Android devices is fully installed. (Android SDK 27.0.3)
[✓] iOS toolchain - develop for iOS devices is fully installed. (Xcode 9.3)
[✓] Android Studio is fully installed. (version 3.0)
[!] IntelliJ IDEA Ultimate Edition is partially installed; more components are available. (version 2016.2.5)
[✓] VS Code is fully installed. (version 1.22.2)
[✓] Connected devices is fully installed. (1 available)

затем пытаюсь запустить:

cd cocoatest
flutter run

Launching lib/main.dart on iPhone X in debug mode...
Running Xcode clean...                                       1.0s
Starting Xcode build...
 ├─Assembling Flutter resources...                    1.3s
 └─Compiling, linking and signing...                  0.2s
Xcode build done.                                            2.8s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    In file included from /Users/enrico/Development/flutter_projects/cocoatest/ios/Runner/GeneratedPluginRegistrant.m:5:
    /Users/enrico/Development/flutter_projects/cocoatest/ios/Runner/GeneratedPluginRegistrant.h:8:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone X.

Просто чтобы убедиться, что flutter doctor -v выводит

[✓] Flutter (Channel master, v0.2.12-pre.33, on Mac OS X 10.13.4 17E199, locale en-IT)
    • Flutter version 0.2.12-pre.33 at /Users/enrico/development/flutter
    • Framework revision ea30c95dc9 (35 hours ago), 2018-04-13 17:02:14 -0700
    • Engine revision 76cb311d9c
    • Dart version 2.0.0-dev.47.0.flutter-f76dad0adc

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.0

Довольно неприятно ..

@enrichman Означает ли это, что flutter run не работает для вновь созданного проекта Flutter без добавления каких-либо зависимостей плагинов? В противном случае могу я попросить вас поделиться своим pubspec.yaml файлом ios/Podfile (если есть)?

Означает ли это, что запуск Flutter не выполняется для вновь созданного проекта Flutter без добавления каких-либо зависимостей плагинов?

@ mravn-google, это правда. Как видите, в проекте нет подфайлов.

screen shot 2018-04-15 at 13 27 47

pubspec.yaml - это значение по умолчанию (я удалил комментарии):

name: cocoatest
description: A new Flutter project.

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.0

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  uses-material-design: true

Спасибо за вашу быструю поддержку. Я не разработчик iOS, поэтому я не совсем понимаю, какие ошибки возникают из-за этого (я даже не знал, что такое pod).

@enrichman Теперь это вызывает недоумение ... Кажется, у меня точно такая же конфигурация, как и у вас

[✓] Flutter (Channel master, v0.2.12-pre.33, on Mac OS X 10.13.3 17D102, locale en-US)
    • Flutter version 0.2.12-pre.33 at /Users/mravn/github/flutter
    • Framework revision ea30c95dc9 (2 days ago), 2018-04-13 17:02:14 -0700
    • Engine revision 76cb311d9c
    • Dart version 2.0.0-dev.47.0.flutter-f76dad0adc

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.0

но я не могу воспроизвести ошибку. Что такое содержимое ваши ios/Flutter папка и Generated.xcconfig файл в нем? Мои выглядят следующим образом:

iOS / Flutter

App.framework
flutter_assets
Flutter.framework
AppFrameworkInfo.plist
Debug.xcconfig
Generated.xcconfig
Release.xcconfig

Создан.xcconfig:

// This is a generated file; do not edit or check into version control.
FLUTTER_ROOT=/Users/mravn/github/flutter
FLUTTER_APPLICATION_PATH=/Users/mravn/apps/flutter_projects/cocotest
FLUTTER_TARGET=lib/main.dart
FLUTTER_BUILD_MODE=debug
FLUTTER_BUILD_DIR=build
SYMROOT=${SOURCE_ROOT}/../build/ios
FLUTTER_FRAMEWORK_DIR=/Users/mravn/github/flutter/bin/cache/artifacts/engine/ios
PREVIEW_DART_2=true

@ mravn-google Я надеялся найти что-то другое, но каталог и файл точно такие же, как у вас:

screen shot 2018-04-15 at 14 03 52

// This is a generated file; do not edit or check into version control.
FLUTTER_ROOT=/Users/enrico/development/flutter
FLUTTER_APPLICATION_PATH=/Users/enrico/Development/flutter_projects/cocoatest
FLUTTER_TARGET=lib/main.dart
FLUTTER_BUILD_MODE=debug
FLUTTER_BUILD_DIR=build
SYMROOT=${SOURCE_ROOT}/../build/ios
FLUTTER_FRAMEWORK_DIR=/Users/enrico/development/flutter/bin/cache/artifacts/engine/ios
PREVIEW_DART_2=true

Однако папка заголовков пуста:

screen shot 2018-04-15 at 14 05 37

Бинго. Папка Headers не должна быть пустой! Действительно, мой содержит все файлы заголовков FlutterXxx.h . Предполагается, что они будут скопированы из вашей установки Flutter. В вашем случае /Users/enrico/development/flutter/bin/cache/artifacts/engine/ios/Flutter.framework . Эта папка тоже пуста? Если это так, ваша установка Flutter не завершена. Я предлагаю вам удалить каталог flutter/bin/cache/ а затем выполнить flutter doctor . Это должно загрузить необходимые файлы и воссоздать кеш. Затем нам нужно будет выяснить, что привело к тому, что ваша установка Flutter оказалась в таком состоянии.

Спасибо @ mravn-google!
Папка не была пустой, но в ней были странные символические ссылки:

screen shot 2018-04-15 at 14 37 32

Как вы сказали, очистка кеша rm -rf ~/Development/flutter/bin/cache и запуск flutter doctor сработали.
Заголовочные файлы были там, и теперь все, кажется, работает.

Просто создал новый проект и запустил его без каких-либо проблем. 🎉

Теперь мне нужно посмотреть, что нарушает мой исходный проект или как это исправить:

Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    In file included from /Users/enrico/development/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_analytics-0.3.1/ios/Classes/FirebaseAnalyticsPlugin.m:5:
    /Users/enrico/development/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_analytics-0.3.1/ios/Classes/FirebaseAnalyticsPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.

Любая помощь по этому поводу?

Я попытался очистить кеш пакетов (просто пытаясь удалить каждый кеш на моем Mac в основном), чтобы увидеть, связано ли это с чем-то, но безуспешно.

rm -rf /Users/enrico/development/flutter/.pub-cache
flutter packages get
flutter clean ; flutter run

@enrichman все, что я сделал, это сначала удалил 1.5.0 brew rm cocoapods а затем переключился на 1.4.0

brew switch cocoapods 1.4.0 у меня просто сработало, есть проблемы с 1.5.0.

@ ashim888 На самом деле у меня были проблемы с установкой 1.4.0. Я не нашел способа сварить. Возможно, вы уже устанавливали его ранее, поэтому brew switch у меня не работает (у меня нет локальной версии).

brew switch cocoapods 1.4.0
Error: cocoapods not found in the Cellar.

brew install [email protected]
Error: No available formula with the name "[email protected]"

brew search cocoapods
==> Searching local taps...
cocoapods

Возможно, позже я попытаюсь проверить, сможет ли установка 1.4.0 вручную решить проблему, но это кажется лишь временным решением, и я хотел бы посмотреть, есть ли решение.

@enrichman да, я тоже ищу решение, но пока это сработало для меня.

@ ashim888 @enrichman Обходные пути, которые мы использовали для использования Cocoapods 1.4.0, привели к архивам iOS с ошибками связи (см. № 15031), поэтому я бы не пошел по этому пути.

@enrichman Чтобы мы помогли с вашим исходным проектом с firebase_analytics , поделитесь, пожалуйста, вашими pubspec.yaml и ios/Podfile .

@ mravn-google

pubspec.yaml является стандартным, но со следующими зависимостями:

dependencies:
  flutter:
    sdk: flutter
  image_picker: 0.1.1
  google_sign_in: 3.0.1
  firebase_analytics: 0.3.1
  firebase_auth: 0.5.4
  firebase_database: 0.4.4
  firebase_storage: 0.2.2
  flutter_facebook_login: 1.1.1

а Podfile - это тот, который вы связали ранее (https://raw.githubusercontent.com/flutter/flutter/master/packages/flutter_tools/templates/cocoapods/Podfile-objc)

@enrichman Эти зависимости отлично работают для меня во вновь созданном проекте Flutter, включая упомянутый Podfile . Помогает ли удалить следующее и повторить попытку?

rm -rf build/ ios/Podfile.lock ios/Pods/
flutter run

@ mravn-google хм, при очистке этих файлов в первый раз возникает другая ошибка:

Launching lib/main.dart on iPhone X in debug mode...
Running pod install...                                       6.2s
Running Xcode clean...                                       1.2s
Starting Xcode build...
Xcode build done.                                            4.8s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET leveldb-library OF PROJECT Pods WITH CONFIGURATION Debug ===
    /Users/enrico/Development/flutter_projects/myproject/ios/Pods/Bolts/Bolts/iOS/BFAppLinkReturnToRefererController.m:133:17: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
                    _view.frame = CGRectMake(0.0, 0.0, CGRectGetWidth(_view.bounds), 0.0);
                    ^
                    self->
    /Users/enrico/Development/flutter_projects/myproject/ios/Pods/Bolts/Bolts/iOS/BFAppLinkReturnToRefererController.m:133:67: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
                    _view.frame = CGRectMake(0.0, 0.0, CGRectGetWidth(_view.bounds), 0.0);
                                                                      ^
                                                                      self->
    /Users/enrico/Development/flutter_projects/myproject/ios/Pods/Bolts/Bolts/iOS/BFAppLinkReturnToRefererController.m:148:18: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
                    [_view sizeToFit];
                     ^
                     self->
    /Users/enrico/Development/flutter_projects/myproject/ios/Pods/Bolts/Bolts/iOS/BFAppLinkReturnToRefererController.m:189:13: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
            if (_navigationController) {
                ^
                self->
    /Users/enrico/Development/flutter_projects/myproject/ios/Pods/Bolts/Bolts/iOS/BFAppLinkReturnToRefererController.m:190:40: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
                [self updateNavigationBarY:_view.statusBarHeight];
                                           ^
                                           self->
    /Users/enrico/Development/flutter_projects/myproject/ios/Pods/Bolts/Bolts/iOS/BFAppLinkReturnToRefererController.m:193:24: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
            CGRect frame = _view.frame;
                           ^
                           self->
    /Users/enrico/Development/flutter_projects/myproject/ios/Pods/Bolts/Bolts/iOS/BFAppLinkReturnToRefererController.m:195:9: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
            _view.frame = frame;
            ^
            self->
    /Users/enrico/Development/flutter_projects/myproject/ios/Pods/Bolts/Bolts/iOS/BFAppLinkReturnToRefererController.m:203:17: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
                    _view.closed = YES;
                    ^
                    self->
    8 warnings generated.
    In file included from /Users/enrico/.pub-cache/hosted/pub.dartlang.org/firebase_analytics-0.3.1/ios/Classes/FirebaseAnalyticsPlugin.m:5:
    /Users/enrico/.pub-cache/hosted/pub.dartlang.org/firebase_analytics-0.3.1/ios/Classes/FirebaseAnalyticsPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone X.

Затем второй flutter run вызывает ту же ошибку, что и раньше (ту, что касается FirebaseAnalyticsPlugin).

Я почти уверен, что что-то испортил в своем окружении или конфигурации при смене ветки.
Проект все еще находится в начале, и я, вероятно, могу просто скопировать все в новый, но мне было любопытно понять, что произошло (может быть, это может кому-то помочь).

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

@ mravn-google, просто чтобы добавить дополнительную информацию, я не могу добавить ни одной зависимости ..

После того, как я создал новый проект и добавил любую новую зависимость (например: image_picker: 0.4.1 ), я получил сообщение об ошибке:

Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET image_picker OF PROJECT Pods WITH CONFIGURATION Debug ===
    In file included from /Users/enrico/.pub-cache/hosted/pub.dartlang.org/image_picker-0.4.1/ios/Classes/ImagePickerPlugin.m:7:
    /Users/enrico/.pub-cache/hosted/pub.dartlang.org/image_picker-0.4.1/ios/Classes/ImagePickerPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone X.

Стоит ли попробовать переустановить флаттер? Понятия не имею ..

@enrichman Ваш ios/Podfile должен быть копией последних шаблонов проектов Flutter для работы с Cocoapods 1.5.0.

У меня такая же ошибка:

Launching lib/main.dart on iPhone X in debug mode...
Running Xcode clean...
Starting Xcode build...
Xcode build done
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    In file included from /Users/WingHinChan/.pub-cache/hosted/pub.dartlang.org/path_provider-0.4.0/ios/Classes/PathProviderPlugin.m:5:
    /Users/WingHinChan/.pub-cache/hosted/pub.dartlang.org/path_provider-0.4.0/ios/Classes/PathProviderPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
    In file included from /Users/WingHinChan/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.4.1/ios/Classes/SharedPreferencesPlugin.m:5:
    /Users/WingHinChan/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.4.1/ios/Classes/SharedPreferencesPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone X.

Я пытаюсь понизить версию своих Cocoapods, чтобы посмотреть, смогу ли я решить эту проблему, понизив ее до версии 1.4.0. Для этого я использовал код из этого потока SO:

sudo gem удалить cocoapods

sudo gem установить cocoapods -v 1.4.0

Это мой список жемчужин:

screen shot 2018-04-18 at 11 24 54

Когда я запускаю flutter doctor, он просит меня установить коконады через варево:

brew install cocoapods
pod setup

Почему flutter не распознает, что у меня установлен cocoapods 1.4.0 через gem?
Кроме того, когда я попробовал brew install [email protected] , это не переход на более раннюю версию .

Он просит вас установить через brew, потому что настоящего драгоценного камня cocoapods по какой-то причине не было в вашем списке драгоценных камней.
cocoapods (1.4.0) отсутствует. Он должен быть выше cocoapods-core (1.4.0) .

Для Flutter не имеет значения, как вы устанавливаете Cocoapods, если исполняемый файл pod находится на вашем пути.

@ 0916174 Понижение версии Cocoapods до 1.4.0 вряд ли решит ваши проблемы, и инструменты Flutter будут протестированы с Cocoapods 1.5.0 в будущем.

@ mravn-google проблема в том, что у меня уже есть точно такой же файл.

Я пытался сделать то же самое на своем другом Mac, и он работает без проблем. Вероятно, это что-то, что я сломал на своей машине, что вызывает проблему.

Кажется, что flutter run странным образом связывает файлы в кеше ( @see ), и поскольку на них есть ссылки в .symlinks dir под ios/Pods происходит что-то странное .

На моем втором Mac после flutter run все в порядке.

Попробую удалить flutter и переустановить.

@enrichman Если содержимое <flutter_install_dir>/bin/cache нарушено, просто удалите bin/cache , а затем запустите flutter doctor . Мне было бы очень интересно узнать, как воспроизводить самосимвольные ссылки, которые вы получаете.

@ mravn-google, я пытаюсь удалить bin / cache, затем запустить flutter doctor, а затем запустить flutter run, но все еще есть ошибки.

@ mravn-google уже сделал это, также удалив .pub-cache зависимостей, но все еще сохраняя такое же поведение.

Странными вещами, которые я делал до появления ошибки, было в основном переключение ветвей Flutter и перекомпиляция с помощью flutter doctor . Не уверен, есть ли другие «скрытые» папки, которые я мог бы попытаться очистить.

@arden @enrichman Точные шаги по воспроизведению очень приветствуются. Например, какой проект, с какими зависимостями ( pubspec.yaml ) и ios/Podfile (если есть) вы работаете? Какую версию Flutter вы используете? ( flutter doctor -v ). У вас открыт проект в Xcode, пока вы выполняете эти шаги? Вы указываете какие-либо параметры для flutter run ?

@ mravn-google
Я вытащил master а он даже не запускается, поэтому я попытался проверить v0.3.0 .

Шаги были в основном очищены кешами:

rm -rf /Users/enrico/.pub-cache
rm -rf /Users/enrico/development/flutter/bin/cache

построить flutter

flutter doctor -v

[✓] Flutter (Channel unknown, v0.3.0, on Mac OS X 10.13.4 17E199, locale en-IT)
    • Flutter version 0.3.0 at /Users/enrico/development/flutter
    • Framework revision c73b8a7cf6 (6 days ago), 2018-04-12 16:17:26 -0700
    • Engine revision 8a6e64a8ef
    • Dart version 2.0.0-dev.47.0.flutter-4126459025

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.0

создал и запустил тестовое приложение:

flutter create testapp
cd testapp
flutter run

Приложение запускается. Headers в порядке.

ll /Users/enrico/development/flutter/bin/cache/artifacts/engine/ios/Flutter.framework/Headers

-rw-r--r--  1 enrico  staff   1,9K  5 Apr 00:03 Flutter.h
-rw-r--r--  1 enrico  staff   1,5K  5 Apr 00:03 FlutterAppDelegate.h
-rw-r--r--  1 enrico  staff   2,5K  5 Apr 00:03 FlutterBinaryMessenger.h
-rw-r--r--  1 enrico  staff    13K  5 Apr 00:03 FlutterChannels.h
-rw-r--r--  1 enrico  staff    13K  5 Apr 00:03 FlutterCodecs.h
-rw-r--r--  1 enrico  staff   1,7K  5 Apr 00:03 FlutterDartProject.h
-rw-r--r--  1 enrico  staff   1,1K  5 Apr 00:03 FlutterHeadlessDartRunner.h
-rw-r--r--  1 enrico  staff   1,4K  5 Apr 00:03 FlutterMacros.h
-rw-r--r--  1 enrico  staff   261B  5 Apr 00:03 FlutterNavigationController.h
-rw-r--r--  1 enrico  staff   7,4K  5 Apr 00:03 FlutterPlugin.h
-rw-r--r--  1 enrico  staff   741B  5 Apr 00:03 FlutterTexture.h
-rw-r--r--  1 enrico  staff   1,8K  5 Apr 00:03 FlutterViewController.h

Все идет нормально.

Затем я добавил одну зависимость ( image_picker: 0.1.1 ) в pubspec.yaml которая вызвала flutter packages get , которая сгенерировала Podfile , идентичную той, на которую вы ссылались. .

Проверил заголовки, и они все еще в порядке.

Выполнение flutter run завершится ошибкой и испортит заголовки:

Launching lib/main.dart on iPhone X in debug mode...
Skipping compilation. Fingerprint match.
Running Xcode clean...                                       0.9s
Starting Xcode build...
Xcode build done.                                            1.1s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET image_picker OF PROJECT Pods WITH CONFIGURATION Debug ===
    In file included from /Users/enrico/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.1/ios/Classes/ImagePickerPlugin.m:7:
    /Users/enrico/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.1/ios/Classes/ImagePickerPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone X.
ll /Users/enrico/development/flutter/bin/cache/artifacts/engine/ios/Flutter.framework/Headers

lrwxr-xr-x  1 enrico  staff     9B 18 Apr 21:18 Flutter.h -> Flutter.h
lrwxr-xr-x  1 enrico  staff    20B 18 Apr 21:18 FlutterAppDelegate.h -> FlutterAppDelegate.h
lrwxr-xr-x  1 enrico  staff    24B 18 Apr 21:18 FlutterBinaryMessenger.h -> FlutterBinaryMessenger.h
lrwxr-xr-x  1 enrico  staff    17B 18 Apr 21:18 FlutterChannels.h -> FlutterChannels.h
lrwxr-xr-x  1 enrico  staff    15B 18 Apr 21:18 FlutterCodecs.h -> FlutterCodecs.h
lrwxr-xr-x  1 enrico  staff    20B 18 Apr 21:18 FlutterDartProject.h -> FlutterDartProject.h
lrwxr-xr-x  1 enrico  staff    27B 18 Apr 21:18 FlutterHeadlessDartRunner.h -> FlutterHeadlessDartRunner.h
lrwxr-xr-x  1 enrico  staff    15B 18 Apr 21:18 FlutterMacros.h -> FlutterMacros.h
lrwxr-xr-x  1 enrico  staff    29B 18 Apr 21:18 FlutterNavigationController.h -> FlutterNavigationController.h
lrwxr-xr-x  1 enrico  staff    15B 18 Apr 21:18 FlutterPlugin.h -> FlutterPlugin.h
lrwxr-xr-x  1 enrico  staff    16B 18 Apr 21:18 FlutterTexture.h -> FlutterTexture.h
lrwxr-xr-x  1 enrico  staff    23B 18 Apr 21:18 FlutterViewController.h -> FlutterViewController.h

Просто проверив вывод flutter run -v и обнаружил следующие строки:

[        ] Error output from CocoaPods:
           ↳
[        ]
           [!] `<PBXGroup UUID=`97C146E51CF9000F007C117D`>` attempted to initialize an object with an unknown UUID. `CF3B75C9A7D2FA2A4C99F110` for attribute: `children`. This can be the result of a merge and  the unknown UUID is being discarded.

           [!] Automatically assigning platform `ios` with version `8.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`.

Может быть связано? Здесь остальная часть вывода

@enrichman Большое спасибо, это очень полезно. Постараюсь сразу воспроизвести.

Не повезло. flutter run работает нормально, папка заголовков осталась нетронутой.

flutter run -v расшифровка:

[ +550 ms] pod --version
[ +551 ms] 1.5.0
[   +2 ms] Running pod install...
[+1179 ms] CocoaPods' output:
                   ↳
[        ]   Preparing

           Analyzing dependencies

           Inspecting targets to integrate
             Using `ARCHS` setting to build architectures of target `Pods-Runner`: (`arm64`)

           Fetching external sources
           -> Fetching podspec for `Flutter` from `Pods/.symlinks/flutter/ios`
           -> Fetching podspec for `image_picker` from `Pods/.symlinks/plugins/image_picker/ios`

           Resolving dependencies of `Podfile`

           Comparing resolved specification to the sandbox manifest
             A Flutter
             A image_picker

           Downloading dependencies

           -> Installing Flutter (1.0.0)

           -> Installing image_picker (0.0.1)
             - Running pre install hooks

           Generating Pods project
             - Creating Pods project
             - Adding source files to Pods project
             - Adding frameworks to Pods project
             - Adding libraries to Pods project
             - Adding resources to Pods project
             - Adding development pod helper files to Pods project
             - Linking headers
             - Installing targets
               - Installing target `image_picker` iOS 4.3
               - Installing target `Pods-Runner` iOS 8.0
             - Running post install hooks
               - Podfile
             - Writing Xcode project file to `Pods/Pods.xcodeproj`
               - Generating deterministic UUIDs
             - Writing Lockfile in `Podfile.lock`
             - Writing Manifest in `Pods/Manifest.lock`

           Integrating client project

           Integrating target `Pods-Runner` (`Runner.xcodeproj` project)
             - Running post install hooks
               - cocoapods-stats from `/usr/local/Cellar/ruby/2.5.1/lib/ruby/gems/2.5.0/gems/cocoapods-stats-1.0.0/lib/cocoapods_plugin.rb`

           -> Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.

[        ] Error output from CocoaPods:
           ↳
[        ] 
           [!] Automatically assigning platform `ios` with version `8.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`.

[        ] Running Xcode clean...

@ mravn-google спасибо за вашу поддержку. Я попытался переустановить flutter и cocoapods удалив все, но безуспешно.

Проблема в pod install . После этого я обнаружил, что символические ссылки испорчены .. Не уверен, что не так, но связано с моей средой.

@enrichman Один эксперимент , чтобы сделать это , чтобы модифицировать Podfile , чтобы держать .symlinks папку за пределами Pods/ , как брат его вместо этого.

Примерно так (не проверял). А затем добавьте .symlinks в файл ios/.gitignore .

# 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'

def parse_KV_file(file, separator='=')
  file_abs_path = File.expand_path(file)
  if !File.exists? file_abs_path
    return [];
  end
  pods_ary = []
  skip_line_start_symbols = ["#", "/"]
  File.foreach(file_abs_path) { |line|
      next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
      plugin = line.split(pattern=separator)
      if plugin.length == 2
        podname = plugin[0].strip()
        path = plugin[1].strip()
        podpath = File.expand_path("#{path}", file_abs_path)
        pods_ary.push({:name => podname, :path => podpath});
      else
        puts "Invalid plugin specification: #{line}"
      end
  }
  return pods_ary
end

target 'Runner' do
  use_frameworks!

  # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
  # referring to absolute paths on developers' machines.
  system('rm -rf .symlinks')
  system('mkdir -p .symlinks/plugins')

  # Flutter Pods
  generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig')
  if generated_xcode_build_settings.empty?
    puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter packages get is executed first."
  end
  generated_xcode_build_settings.map { |p|
    if p[:name] == 'FLUTTER_FRAMEWORK_DIR'
      symlink = File.join('.symlinks', 'flutter')
      File.symlink(File.dirname(p[:path]), symlink)
      pod 'Flutter', :path => File.join(symlink, File.basename(p[:path]))
    end
  }

  # Plugin Pods
  plugin_pods = parse_KV_file('../.flutter-plugins')
  plugin_pods.map { |p|
    symlink = File.join('.symlinks', 'plugins', p[:name])
    File.symlink(p[:path], symlink)
    pod p[:name], :path => File.join(symlink, 'ios')
  }
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end

@ mravn-google безуспешно пытался. Не уверен, что я сделал правильные шаги, но в конце концов папка .symlinks оказалась снаружи со ссылками (и заголовки, где снова испортились.

НО я попытался создать быстрый проект ( flutter create -i swift testapp ), и это сработало. 😧

РЕДАКТИРОВАТЬ: Я не пробовал ваш подфайл. Я сделаю!

@ mravn-google ЭТО РАБОТАЛО !!! : open_mouth :: open_mouth :: open_mouth:
Не знаю почему, но работает! Спасибо!!

Спасибо @enrichman , приятно знать.
@ 0916174 У вас тоже работает такой подход?

@ mravn-google Не могли бы вы подвести итоги окончательного предлагаемого обходного пути? Непонятно, какие шаги необходимы, а какие нет. например, нужно ли мне быть главным каналом флаттера? Нужно ли мне получать файлы с flutter github, нужно ли мне удалять определенные файлы, нужно ли мне переходить на более раннюю версию cocoapos, мне нужно копировать файлы сверху? У меня такая же проблема с Flutter / Flutter.h, но с плагином аудиоплеера.

Внезапно эта проблема стала возникать у меня с проектом, с которым я раньше работал без проблем. Я не «трогал» проект последние несколько дней, и теперь, когда я открыл его и попытался запустить на iOS, я начал получать эту ошибку.

Для тех, кто столкнулся с этой проблемой, эти шаги, похоже, помогли мне:

1. uninstall cocoapods

     $sudo gem uninstall cocoapods

     $sudo gem uninstall -n/usr/local/bin cocoapods

2. install cocoapods 1.4

    $sudo gem install cocoapods -v 1.4

3. update pod

    $cd ios

4. pod

    $pod update

Источник: http://www.jcodecraeer.com/a/anzhuokaifa/2018/0416/9596.html

@miguelpruivo Возвращение к Cocoapods 1.4.0 - это в лучшем случае краткосрочное решение. Инструменты Flutter (на Flutter master) не поддерживают его, потому что мы не смогли заставить его работать с проектами Swift. Вместо этого рекомендуется обновить ios/Podfile .

@ mravn-google, как это сделать?

@miguelpruivo Скопируйте Podfile подходящий для вашего проекта, из Flutter master в ios/Podfile вашего проекта и удалите ios/Podfile.lock . Используйте версию ObjC, если ваш проект Flutter не был создан с помощью -i swift .

@ mravn-google Извините за отсутствие на некоторое время.
В настоящее время я устанавливаю все программное обеспечение на свой новый Mac, но еще не пробовал flutter.

Однако, просматривая свои пользовательские файлы ( ~/Users/jeroen ), я обнаружил следующее:
image

Кажется, заголовки флаттера, о которых все говорят, хранятся неправильно. Вместо ~/Users/jeroen/flutter/bin... это ~/Users/jeroen/jeroen/flutter/bin... .

При перемещении папки в правильное место я случайно удалил свою исходную папку flutter, поэтому я не могу проверить ее сам, но, возможно, другие люди здесь могут проверить, находятся ли их заголовки в неправильной папке.

Мой новый MacBook с новой установкой (без восстановления Time Machine) имеет те же проблемы (Flutter.h не найден). Я попробую описанные выше решения и доложу.

У вас есть 12-дюймовый макбук? Я столкнулся с этой проблемой на своем ...

Нет, MacBook Pro 15 ”2017 г.

У меня тоже было это, и я немного изучил это. По какой-то причине это имеет тенденцию появляться, когда флаттер решает переключиться с движка, построенного на «ios-release», на «ios».

Если это поможет.

Мне удалось частично вернуться в бизнес, удалив почти все артефакты модуля, а затем построив его с помощью VSCode, который, как мне кажется, создает артефакт отладки вместо артефакта выпуска.

Спасибо за помощь. До сих пор не могу воспроизвести :-(

Работал как Шарм! Спасибо

@ mravn-google Я также подтверждаю, ваше решение по перемещению папки .symlinks за пределы Pods/ сработало, и мой проект правильно строится с CocoaPods 1.5.0, спасибо.

Я смог решить это с помощью

  1. sudo gem uninstall cocoapods
  2. sudo gem install cocoapods -v 1.4.0
  3. flutter clean && flutter build ios

Каким-то образом были установлены CocoaPods 1.5.0 и 1.4.0.

@AppleEducate Обратите внимание на https://github.com/flutter/flutter/issues/16036#issuecomment -383069566

@ mravn-google, копирующий Podfile из мастера Flutter, как вы предлагали, устранил проблему Flutter.h not found но не устранил проблему The “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift .

Добавление этой строки в цикл post_install в build_configurations как предлагается здесь, заставляет его работать после выполнения pod install :

config.build_settings['SWIFT_VERSION'] = '3.2'

Не лучше ли добавить эту строку в подфайл Flutter?

Кажется, теперь все работает на модулях версии 1.5.0 и последней версии Flutter Master.
Спасибо за вашу помощь.

@ 0916174 Рад слышать, что теперь это работает для вас!

оно работает

У меня была такая же проблема, и я решил таким образом:

  1. Создайте новое приложение через 'flutter create testProject'
  2. Удалите папку ios в своем старом проекте
  3. Скопируйте папку ios из нового проекта в старый (переместите testProject / ios в oldProject / ios)
    Затем с «флаттер-бегом» все заработало.

Надеюсь, что это решение может помочь

Итак, я попробовал предложение @ mravn-google и удалил отсутствующую ошибку Flutter.h, однако возникла другая проблема. Все плагины были перемещены в ios/.symlinks/plugins и xcode не может их найти.

Есть ли способ установить каталог, в котором нужно искать плагины? Неудачные строки в xcode выглядят так:

Импортировать

(вместе с другими пакетами импорта).

Спасибо!

Не должно быть необходимости во вспомогательной конфигурации для использования плагинов, помимо Podfile который распространяется с Flutter. Если у вас возникли проблемы, основанные на шаблонах проектов бета-версии или основной ветки Flutter, пожалуйста, помогите нам решить ее, зарегистрировав новую проблему, включая результат flutter doctor -v .

Конечно, сейчас запишу еще одну проблему.

Я не понимаю, почему это было закрыто, когда нам все еще нужно скопировать Podfile из мастера, разве это не должно оставаться открытым, пока flutter upgrade исправит это?

@acidjazz flutter upgrade не изменяет ваши проекты Flutter, а только обновляет вашу установку Flutter.

В частности, как только Podfile существует в вашем проекте Flutter, инструменты Flutter не пытаются перезаписать его, поскольку у вас могут быть собственные настройки. Как вы заметили, это прискорбно, потому что Podfile вероятно, был написан более ранней версией инструментария Flutter с использованием шаблона, который не работает с более новыми версиями CocoaPods и / или с проектами Swift.

Мы работаем над шаблоном проекта с более четким разделением файлов, которые инструменты Flutter создают и от которых зависят (в частности, для плагинов), и тех, которые должны принадлежать автору приложения.

Я столкнулся с той же проблемой, замените ios / Podfile на один указанный https://github.com/flutter/flutter/blob/master/packages/flutter_tools/templates/cocoapods/Podfile-objc сработал. Спасибо

@chrisopal у меня работает. Благодарность

У меня была такая же проблема, и я решил таким образом:

  1. Создайте новое приложение через 'flutter create testProject'
  2. Удалите папку ios в своем старом проекте
  3. Скопируйте папку ios из нового проекта в старый (переместите testProject / ios в oldProject / ios)
    Затем с «флаттер-бегом» все заработало.

Надеюсь, что это решение может помочь

лучшее решение для меня. Большое спасибо

@ vankhoa01 вы также можете просто удалить ios/ и запустить flutter create .

У меня такая же проблема. Решите это, загрузив v0.11.3. Канал разработчиков https://flutter.io/docs/development/tools/sdk/archive#macos
Версия Beta flutter не работает с Beta xcode

Я решил свою проблему, обновив настройку модуля. Чтобы обновить CocoaPods для ios. Попробуйте работает как шарм :)

Привет, я не уверен, но думаю, что перепробовал все решения, которые смог найти по этой проблеме. Я совершенно новичок во Flutter и просто запускаю основные тестовые проекты. Все работало как шарм, пока я не попытался запустить приложение на своем iPhone, и мне пришлось вводить информацию в «xcode Runner». До этого на Android устройстве и в симуляторе все работало нормально.

Теперь он выдает разные ошибки, но в основном я получаю "Flutter / flutter.h" not found. (Единственное, что сейчас работает, это запуск на телефоне Android) Пожалуйста, помогите мне с этой ошибкой, я потратил больше дня, чтобы разобраться с этой проблемой. Удалил все проекты, удалил cocoapods и переустановил, пробовал разные версии и тд .. Ничего не помогает, и ох, доктор Flutter как всегда доволен.

Привет, @Pergius , обходной путь, который сработал для меня, также был описан по этой ссылке (https://github.com/flutter/flutter/issues/24428#issue-381497805).
При копировании файлов в папку ios-release работал флаттер билд ios.
Однако я считаю, что есть ошибка, которую необходимо исправить.

это лучшее решение
https://github.com/flutter/flutter/issues/24428

У меня была такая же проблема. Файл esys-share.h не найден .. пожалуйста, помогите мне решить эту iisue

Для тех, у кого проблемы с Flutter.h не найдены, проверьте свою версию Flutter. У меня была версия 1.4 Flutter, я удалил ее, а затем установил стабильную версию (1.2), и она сработала.

Для тех, у кого проблемы с Flutter.h не найдены, проверьте свою версию Flutter. У меня была версия 1.4 Flutter, я удалил ее, а затем установил стабильную версию (1.2), и она сработала.

Спасибо, у меня работает

Я испытываю это на одной из наших машин сборки. Я попытался переустановить Flutter, переключившись на стабильный канал, убедившись, что cocoapods той же версии, что и на рабочих машинах, и почти все другие предлагаемые решения. Единственный временный успех, который у меня был, - это исправление yxfmlbb в https://github.com/flutter/flutter/issues/24428. Заголовочные файлы Flutter.framework заменяются псевдонимами, которые ни к чему не приводят, когда я запускаю build --release, и после этого сборка iOS завершается неудачно, и файл Flutter.h не найден.

Могу только предположить, что я не переустановил Flutter полностью. Что еще мне следует делать, кроме удаления установочного каталога Flutter?

Изменить: похоже, это какая-то странная проблема с Дженкинсом, поскольку выполнение тех же команд из терминала не перезаписывает файлы заголовков с помощью ярлыков.

Надеюсь, это кому-то поможет->

Я исправил это, выполнив установку модуля в моем проекте iOS.

Похоже, это было вызвано обновлением флаттера, а затем устареванием podspec для флаттера.

Я начал получать эту ошибку после обновления флаттера и добавления shared_preferences в мой проект. Я просто попытался удалить все файлы shared_preferences, даже из pubspec.yaml, удалить папку ios и запустить «flutter create». и теперь, когда я пытаюсь собрать / запустить симулятор ios, я получаю:

Error output from Xcode build:
↳
    ** BUILD FAILED **
Xcode's output:
↳
    In file included from /Users/me/Dev/flutter_projects/flutter_course/ios/Runner/GeneratedPluginRegistrant.m:5:
    /Users/me/Dev/flutter_projects/flutter_course/ios/Runner/GeneratedPluginRegistrant.h:8:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone Xʀ.
Exited (sigterm)

и если это поможет:

flutter doctor -v
[✓] Flutter (Channel stable, v1.5.4-hotfix.2, on Mac OS X 10.14.5 18F132, locale en-CA)
    • Flutter version 1.5.4-hotfix.2 at /Users/me/dev/flutter
    • Framework revision 7a4c33425d (6 weeks ago), 2019-04-29 11:05:24 -0700
    • Engine revision 52c7a1e849
    • Dart version 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)


[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Volumes/macex/androidSDK
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.2.1, Build version 10E1001
    • ios-deploy 1.9.4
    • CocoaPods version 1.7.1

снимите эти два флажка при создании нового проекта флаттера, у меня это работает.
WhatsApp Image 2019-09-16 at 5 56 16 AM

Просто столкнитесь с той же проблемой. Я удалил текущие файлы модулей и папку модулей, переустановил cocoapods, повторно запустил приложение, и проблема была решена.

Для меня это было решено путем редактирования подфайла, как указано в этом https://github.com/flutter/flutter/issues/10654#issuecomment -389034245, и изменения системы сборки xcode на устаревшую.

Решил проблему flutter create новый проект и скопировал ключевой код.

мой pod --version равен 1.6.0

Использую стабильную версию flutter channel v1.12.13 + hotfix.6

Я создал новое приложение с flutter create my_app , удалил все из ios/Flutter в своем собственном приложении и снова скопировал все из my_app/ios/Flutter в свое собственное приложение. Это сработало :/

Этот поток был автоматически заблокирован, поскольку после его закрытия в последнее время не было никаких действий. Если вы все еще сталкиваетесь с подобной проблемой, откройте новую ошибку, включая вывод flutter doctor -v и минимальное воспроизведение проблемы.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги