Flutter: El paso de instalación del pod falla cuando se ejecuta con `--local-engine` en un proyecto recién creado

Creado en 3 abr. 2017  ·  3Comentarios  ·  Fuente: flutter/flutter

Pasos para reproducir

  1. flutter create foobar
  2. cd foobar
  3. Abra ios/Runner.xcworkspace y configure la firma
  4. flutter run --local-engine ios_debug_unopt -d mydevice -v

Producción:

[ +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

Comentario más útil

Hola,
Tuve el mismo problema recientemente, sin embargo, utilicé un enfoque diferente.
Necesitaba actualizar los pods con pod update

Que llegó a este error:

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

Después de buscar un poco en DuckDuckGo, probé esto para encontrar una solución.

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

y volvió a ejecutar pod update y flutter run

¡Esto pareció funcionar!

¿Hay un mejor método para resolver esto?

Gracias

Todos 3 comentarios

/cc @jakobr-google ¿hay algo que deba hacer aquí en el lado del motor?

Basado en ios/Podfile , parece que estamos buscando un podspec para Flutter en $FLUTTER_FRAMEWORK_DIR . Cuando ejecuto sin --local-engine , ese env var parece apuntar a la ubicación del motor en caché ( bin/cache/artifacts/engine/ios ), donde veo un Flutter.podspec . Cuando se ejecuta con un motor local, apunta al directorio de compilación del motor (en mi caso, /Users/cbracken/src/flutter/engine/src/out/ios_debug_unopt ), donde no veo ese archivo.

Pude solucionar esto agregando un enlace simbólico Flutter.podspec en el directorio de mi motor local, pero sería bueno que esto funcionara automáticamente. (¿A menos que me esté perdiendo un paso en alguna parte?)

Sí, debemos copiar shell/platform/darwin/ios/framework/Flutter.podspec al directorio de compilación del motor cuando construimos. Me perdí eso cuando agregué el archivo. La receta de buildbot carga el archivo, razón por la cual lo ve en el caché.

Hola,
Tuve el mismo problema recientemente, sin embargo, utilicé un enfoque diferente.
Necesitaba actualizar los pods con pod update

Que llegó a este error:

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

Después de buscar un poco en DuckDuckGo, probé esto para encontrar una solución.

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

y volvió a ejecutar pod update y flutter run

¡Esto pareció funcionar!

¿Hay un mejor método para resolver esto?

Gracias

¿Fue útil esta página
0 / 5 - 0 calificaciones