flutter create foobar
cd foobar
ios/Runner.xcworkspace
et configurez la signatureflutter run --local-engine ios_debug_unopt -d mydevice
-vSortir:
[ +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
/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
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:
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
etflutter run
Cela a semblé fonctionner !
Existe-t-il une meilleure méthode pour résoudre ce problème?
Merci