Flutter: μƒˆλ‘œ μƒμ„±λœ ν”„λ‘œμ νŠΈμ—μ„œ `--local-engine`으둜 μ‹€ν–‰ν•  λ•Œ ν¬λ“œ μ„€μΉ˜ 단계가 μ‹€νŒ¨ν•¨

에 λ§Œλ“  2017λ…„ 04μ›” 03일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: flutter/flutter

λ²ˆμ‹ 단계

  1. flutter create foobar
  2. cd foobar
  3. ios/Runner.xcworkspace 을 μ—΄κ³  μ„œλͺ… μ„€μ •
  4. 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
regression tool

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ•ˆλ…•,
λ‚˜λŠ” μ΅œκ·Όμ— 같은 λ¬Έμ œκ°€ μžˆμ—ˆμ§€λ§Œ λ‹€λ₯Έ μ ‘κ·Ό 방식을 μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.
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 μž¬μ‹€ν–‰

이것은 νš¨κ³Όκ°€ μžˆλŠ” 것 κ°™μ•˜μŠ΅λ‹ˆλ‹€!

이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 더 쒋은 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

감사 ν•΄μš”

λͺ¨λ“  3 λŒ“κΈ€

/cc @jakobr-google μ—¬κΈ°μ„œ 엔진 μͺ½μ—μ„œ ν•΄μ•Ό ν•  일이 μžˆμŠ΅λ‹ˆκΉŒ?

ios/Podfile 에 따라 $FLUTTER_FRAMEWORK_DIR μ—μ„œ Flutter용 podspec을 μ°Ύκ³  μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. --local-engine 없이 μ‹€ν–‰ν•˜λ©΄ ν•΄λ‹Ή ν™˜κ²½ λ³€μˆ˜κ°€ μΊμ‹œλœ 엔진 μœ„μΉ˜( 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 μž¬μ‹€ν–‰

이것은 νš¨κ³Όκ°€ μžˆλŠ” 것 κ°™μ•˜μŠ΅λ‹ˆλ‹€!

이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 더 쒋은 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

감사 ν•΄μš”

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰