flutter create foobar
cd foobar
ios/Runner.xcworkspace
を開き、署名を設定しますflutter run --local-engine ios_debug_unopt -d mydevice
-v出力:
[ +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ここでエンジン側でやらなければならないことがありますか?
ios/Podfile
に基づくと、 $FLUTTER_FRAMEWORK_DIR
でFlutterのpodspecを探しているようです。 --local-engine
なしで実行すると、そのenv varはキャッシュされたエンジンの場所( bin/cache/artifacts/engine/ios
)を指しているように見えます。ここにFlutter.podspec
が表示されます。 ローカルエンジンで実行しているときは、エンジンのビルドディレクトリ(私の場合は/Users/cbracken/src/flutter/engine/src/out/ios_debug_unopt
)を指していますが、そのファイルは表示されません。
ローカルエンジンディレクトリにシンボリックリンクされたFlutter.podspecを追加することでこれを回避することができましたが、これが自動的に機能するのは素晴らしいことです。 (私がどこかに一歩を逃していない限り?)
はい、ビルド時にshell/platform/darwin/ios/framework/Flutter.podspec
をエンジンのビルドディレクトリにコピーする必要があります。 ファイルを追加したときにそれを見逃しました。 buildbotレシピはファイルをアップロードします。これが、ファイルがキャッシュに表示される理由です。
やあ、
最近同じ問題が発生しましたが、別のアプローチを使用しました。
ポッドをpod update
で更新する必要がありました
このエラーの原因は次のとおりです。
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
# -------------------------------------------
DuckDuckGoで少し検索した後、解決策としてこれを試しました
export FLUTTER_FRAMEWORK_DIR=/path-to/flutter/bin/cache/artifacts/engine/ios
pod update
とflutter run
再実行しました
これはうまくいったようです!
これを解決するためのより良い方法はありますか?
ありがとう
最も参考になるコメント
やあ、
最近同じ問題が発生しましたが、別のアプローチを使用しました。
ポッドを
pod update
で更新する必要がありましたこのエラーの原因は次のとおりです。
DuckDuckGoで少し検索した後、解決策としてこれを試しました
export FLUTTER_FRAMEWORK_DIR=/path-to/flutter/bin/cache/artifacts/engine/ios
pod update
とflutter run
再実行しましたこれはうまくいったようです!
これを解決するためのより良い方法はありますか?
ありがとう