Flutter: L'étape d'installation du pod échoue lors de l'exécution avec `--local-engine` sur un projet nouvellement créé

Créé le 3 avr. 2017  ·  3Commentaires  ·  Source: flutter/flutter

Étapes à suivre pour reproduire

  1. flutter create foobar
  2. cd foobar
  3. Ouvrez ios/Runner.xcworkspace et configurez la signature
  4. flutter run --local-engine ios_debug_unopt -d mydevice -v

Sortir:

[ +592 ms
] Launching lib/main.dart on the Doom Melon in debug mode...

[   +1 ms] /Users/cbracken/.homebrew/bin/idevicesyslog
[   +2 ms] Building Runner.app for 956919950000126a7f5aaf03cbd5fbc18ac75e65
[   +7 ms] xcodebuild -version
[ +101 ms
] Exit code 0 from: xcodebuild -version
[        ] Xcode 8.3
           Build version 8E162
[   +1 ms] python -c import six
[  +33 ms] Trying to resolve native pub services.
[   +1 ms] Looking for YAML at 'pubspec.yaml'
[  +37 ms] No services specified in the manifest
[        ] Found 0 service definition(s).
[        ] Copying service frameworks to '/Users/cbracken/src/text_input/ios/Frameworks'.
[        ] Creating service definitions manifest at 'ios/ServiceDefinitions.json'
[  +39 ms] pod --version
[ +362 ms
] pod --version
[ +360 ms
] Exit code 0 from: pod --version
[        ] 1.2.0
[   +1 ms] Running pod install...

[   +1 ms] [ios/] pod install
[ +663 ms
] Analyzing dependencies
                    Fetching podspec for `Flutter` from `/Users/cbracken/src/flutter/engine/src/out/ios_debug_unopt`
                    [!] No podspec found for `Flutter` in `/Users/cbracken/src/flutter/engine/src/out/ios_debug_unopt`
[   +2 ms] 'flutter run' took 4061ms.
Error running pod install: Exit code 1 from: pod install

#0      throwToolExit (package:flutter_tools/src/base/common.dart:29)
#1      _runPodInstall (package:flutter_tools/src/ios/mac.dart:365)
<asynchronous suspension>
#2      buildXcodeProject (package:flutter_tools/src/ios/mac.dart:156)
<asynchronous suspension>
#3      IOSDevice.startApp (package:flutter_tools/src/ios/devices.dart:205)
<asynchronous suspension>
#4      HotRunner.run (package:flutter_tools/src/run_hot.dart:200)
<asynchronous suspension>
#5      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:281)
<asynchronous suspension>
#6      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:151)
<asynchronous suspension>
#7      RunCommand.verifyThenRunCommand (package:flutter_tools/src/commands/run.dart:196)
<asynchronous suspension>
#8      FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:121)
#9      CommandRunner.runCommand (package:args/command_runner.dart:194)
<asynchronous suspension>
#10     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:261)
<asynchronous suspension>
#11     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:109)
#12     Future.Future.sync (dart:async/future.dart:208)
#13     CommandRunner.run (package:args/command_runner.dart:109)
#14     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:157)
#15     run.<anonymous closure> (package:flutter_tools/executable.dart:140)
<asynchronous suspension>
#16     AppContext._run (package:flutter_tools/src/base/context.dart:76)
<asynchronous suspension>
#17     AppContext.runInZone.<anonymous closure> (package:flutter_tools/src/base/context.dart:66)
#18     _rootRun (dart:async/zone.dart:1120)
#19     _CustomZone.run (dart:async/zone.dart:1001)
#20     runZoned (dart:async/zone.dart:1465)
#21     AppContext.runInZone (package:flutter_tools/src/base/context.dart:65)
#22     run (package:flutter_tools/executable.dart:113)
<asynchronous suspension>
#23     main (package:flutter_tools/executable.dart:66)
<asynchronous suspension>
#24     main (file:///Users/cbracken/src/flutter/flutter/packages/flutter_tools/bin/flutter_tools.dart:8)
#25     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:263)
#26     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)


[  +46 ms] ensureAnalyticsSent: 38ms
[   +1 ms] exiting with code 1
regression tool

Commentaire le plus utile

Salut,
J'ai eu le même problème récemment, cependant, j'ai utilisé une approche différente.
J'avais besoin de mettre à jour les pods avec pod update

Ce qui est arrivé à cette erreur:

Please set FLUTTER_FRAMEWORK_DIR to the directory containing Flutter.framework

[!] Invalid 'Podfile' file: Please set FLUTTER_FRAMEWORK_DIR to the directory containing Flutter.framework.

 #  from /path-to/flutter/examples/platform_view/ios/Podfile:5
 #  -------------------------------------------
 #  if ENV['FLUTTER_FRAMEWORK_DIR'] == nil
 >    abort('Please set FLUTTER_FRAMEWORK_DIR to the directory containing Flutter.framework')
 #  end
 #  -------------------------------------------

Après un peu de recherche sur DuckDuckGo, j'ai essayé ceci pour une solution

export FLUTTER_FRAMEWORK_DIR=/path-to/flutter/bin/cache/artifacts/engine/ios

et réexécuté pod update et flutter run

Cela a semblé fonctionner !

Existe-t-il une meilleure méthode pour résoudre ce problème?

Merci

Tous les 3 commentaires

/cc @jakobr-google y a-t-il quelque chose que je dois faire ici du côté du moteur ?

Basé sur ios/Podfile , il semble que nous recherchions un podspec pour Flutter dans $FLUTTER_FRAMEWORK_DIR . Lorsque je cours sans --local-engine , cette variable env semble pointer vers l'emplacement du moteur mis en cache ( bin/cache/artifacts/engine/ios ), où je vois un Flutter.podspec . Lors de l'exécution avec un moteur local, il pointe vers le répertoire de construction du moteur (dans mon cas, /Users/cbracken/src/flutter/engine/src/out/ios_debug_unopt ), où je ne vois pas ce fichier.

J'ai pu contourner cela en ajoutant un Flutter.podspec avec un lien symbolique dans le répertoire de mon moteur local, mais ce serait bien que cela fonctionne automatiquement. (A moins que j'ai raté une étape quelque part ?)

Oui, nous devrions copier shell/platform/darwin/ios/framework/Flutter.podspec dans le répertoire de construction du moteur lors de la construction. J'ai raté ça quand j'ai ajouté le fichier. La recette buildbot télécharge le fichier, c'est pourquoi vous le voyez dans le cache.

Salut,
J'ai eu le même problème récemment, cependant, j'ai utilisé une approche différente.
J'avais besoin de mettre à jour les pods avec pod update

Ce qui est arrivé à cette erreur:

Please set FLUTTER_FRAMEWORK_DIR to the directory containing Flutter.framework

[!] Invalid 'Podfile' file: Please set FLUTTER_FRAMEWORK_DIR to the directory containing Flutter.framework.

 #  from /path-to/flutter/examples/platform_view/ios/Podfile:5
 #  -------------------------------------------
 #  if ENV['FLUTTER_FRAMEWORK_DIR'] == nil
 >    abort('Please set FLUTTER_FRAMEWORK_DIR to the directory containing Flutter.framework')
 #  end
 #  -------------------------------------------

Après un peu de recherche sur DuckDuckGo, j'ai essayé ceci pour une solution

export FLUTTER_FRAMEWORK_DIR=/path-to/flutter/bin/cache/artifacts/engine/ios

et réexécuté pod update et flutter run

Cela a semblé fonctionner !

Existe-t-il une meilleure méthode pour résoudre ce problème?

Merci

Cette page vous a été utile?
0 / 5 - 0 notes