MacO ํ๊ฒฝ์์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋๋ฒ๊น ํ๋ ค๊ณ ํ ๋ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ฌ๋ฌ ๋ช
๋ น์ '/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework๋ฅผ ์์ฑํฉ๋๋ค.
1) ๋์ 'Runner'์๋ '/ios/Flutter/Flutter.framework'์์ '/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework'๋ก ๋ณต์ฌ ๋ช
๋ น์ด ์์ต๋๋ค.
2) ํด๋น ๋ช
๋ น์ Target 'Runner'์ ๋ช
๋ น์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค. ์คํฌ๋ฆฝํธ ๋จ๊ณ "[CP] Embed Pods Frameworks"
๊ฒฝ๊ณ : ์ค๋ณต๋ ์ถ๋ ฅ ํ์ผ ๋ฌด์: '//build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework'(๋์ 'Runner'์์)
์ฐธ๊ณ : ์ ๋น๋ ์์คํ
์ฌ์ฉ์ฐธ๊ณ : ๋น๋ ๊ณํ ๊ณํ: ๋น๋ ์ค๋ช
๊ตฌ์ฑ
๋งฅ 10.14 ๋ฒ ํ
์์ค์ฝ๋ 10 ๋ฒ ํ
๊ทธ๊ฒ์ ๊ณ ์น๋ ๋ฐฉ๋ฒ? ์ ๋ง ๊ฐ์ฌํฉ๋๋ค
์ฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ํํ ๋จ๊ณ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๊น?
ํ๋ก์ ํธ๋ ์ด๋ป๊ฒ ๋ง๋์
จ๋์?
์ด๋ค ํ์ผ์ ๋ณ๊ฒฝํ์ผ๋ฉฐ ์ด๋ค ๋ณ๊ฒฝ์ ์ํํ์ต๋๊น?
flutter doctor -v
์ ์ถ๋ ฅ์ ์ถ๊ฐํ์ญ์์ค.
Xcode 10์์ Runner
์์
๊ณต๊ฐ ํ๋ก์ ํธ๋ฅผ ์ด์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ File
, Workspace Settings
ํ์ฌ ๋น๋ ์์คํ
์ Legacy Build System
.
์ ๋ง ๊ฐ์ฌํฉ๋๋ค! ํจ๊ณผ๊ฐ์๋ค.
์ด ๋ฌธ์ ๋ CocoaPods์ ์์กดํ๋ Xcode 10์ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋ ๋ชจ๋ Flutter ํ๋ก์ ํธ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ ํ๋ฌ๊ทธ์ธ์ ์์กดํ๋ ํ๋ก์ ํธ๋ฅผ ์๋ฏธํฉ๋๋ค.
๋ ๊ฐ์ง ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
ios/Runner.xcworkspace
์ด๊ณ ๋น๋ ์์คํ
์ Legacy Build System
ํฉ๋๋ค.ios/Runner.xcworkspace
์ด๊ธฐRunner
ํ๋ก์ ํธ๋ฅผ ์ ํํฉ๋๋ค.Runner
๋์์ ์ ํํ ๋ค์ Build Phases
ํญ์ ์ ํํฉ๋๋ค.Embed Frameworks
๋จ๊ณ๋ฅผ ํ์ฅํ๊ณ ํฌํจ๋ ํ๋ ์์ํฌ ๋ชฉ๋ก์์ Flutter.framework
๋ฅผ ์ ํํฉ๋๋ค.-
๋ฅผ ํด๋ฆญํ์ฌ ๋ชฉ๋ก์์ Flutter.framework
-
๋ฅผ ์ ๊ฑฐํฉ๋๋ค( App.framework
์ ์ง ํด์ผ ํจ).ํ๋ฌ๊ทธ์ธ์ด ์ฌ์ฉ ์ค์ผ ๋ Flutter.framework๋ฅผ ๋น๋ ์ ํ๋ฆฌ์ผ์ด์ Frameworks ๋๋ ํ ๋ฆฌ์ ๋ณต์ฌํ๋ ๋ ๊ฐ์ง ๊ฒฝ์ ๋น๋ ์์ ์ด ์์ต๋๋ค.
Embed Frameworks
๋น๋ ๋จ๊ณpod install
๊ฐ ํ๋ก์ ํธ์์ ์์ฑํ๋ [CP] Embed Pods Frameworks
๋น๋ ๋จ๊ณ.ํญ๋ชฉ (1)์ ํ๋ฌ๊ทธ์ธ์ด ์๋ ๊ฒฝ์ฐ(๋ฐ๋ผ์ Xcode ํ๋ก์ ํธ์ CocoaPods ํตํฉ์ด ์๋ ๊ฒฝ์ฐ) ๋น๋๋ ์ฑ์ ํ๋ ์์ํฌ๊ฐ ๋ณต์ฌ๋๋๋ก ํ๊ธฐ ์ํ ๊ฒ์
๋๋ค. ํญ๋ชฉ (2)๋ Flutter์ podspec์ด Flutter.framework
๋ฅผ vended_framework๋ก ์ ์ธํ๊ณ CocoaPods๊ฐ CocoaPods ์ข
์์ฑ์ ์ ์ด์ ํ์์์ ์ด๋ฌํ ๊ฐ vended_framework์ ๋ํ ๋ณต์ฌ ๋จ๊ณ๋ฅผ ์๋์ผ๋ก ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ ์์ต๋๋ค.
์ฆ๊ฐ์ ์ธ ์์ ์ ์ฅ๊ธฐ์ ์ผ๋ก ๋ ๋์ ์๋ฃจ์
์ด ๋ง๋ จ๋ ๋๊น์ง ๋ ๊ฑฐ์ ๋น๋ ์์ ์ ์๋์ผ๋ก ๋ค์ ์ ํํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๊ฒ์
๋๋ค. ์ด์ ๋ฒ ํ๋ -useNewBuildSystem=NO
๋๋ -useModernBuildSystem=NO
ํ์ง๋ง GM ๋น๋์์ ์ ๊ฑฐ๋ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค. ํ์ฌ ์ด ์์
์ ์ํํ๋ ๋ฐฉ๋ฒ์ ํค-๊ฐ ์( <key>BuildSystemType</key><string>Original</string>
)์ ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
.
๊ฐ์ฅ ๊ฐ๋จํ ์ต์ ์ ์์ Embed Frameworks ๋จ๊ณ์์ Flutter.framework๋ฅผ ์ ๊ฑฐํ๊ณ ํ๋ฌ๊ทธ์ธ ์ข ์์ฑ์ด ์๋ ๊ฒฝ์ฐ์๋ ํญ์ ํฌ๋ ์ค์น์ ์์กดํ๋ ๊ฒ์ ๋๋ค. Embed Frameworks ๋จ๊ณ์์ Flutter.framework๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด ๊ธฐ์กด ํ๋ก์ ํธ๋ฅผ ์๋์ผ๋ก ํธ์งํ๋ ค๋ฉด Flutter ๋๊ตฌ๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
์ฅ์ : ๋ ๊ฐ๋จํ ์ฝ๋. con: cocoapods๋ฅผ Flutter ๊ฐ๋ฐ์ ํ์ํ ์ค์น ๋จ๊ณ๋ก ๋ง๋ญ๋๋ค. ์ฒซ ๋ฒ์งธ ์คํ์๋ ์ ์ฅ์์ ๊ฑฐ๋ํ๊ณ ๋๋ฆฐ ๋ค์ด๋ก๋๊ฐ ํฌํจ๋ฉ๋๋ค.
ํ๋ก์ ํธ๊ฐ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋์ง ์ฌ๋ถ๋ฅผ ์๋์ผ๋ก ๊ฐ์งํ๊ณ Xcode ํ๋ก์ ํธ๋ฅผ ํธ์งํ์ฌ ํ๋ฌ๊ทธ์ธ์ด ์ฌ์ฉ ์ค์ด๋ฉด ์๋์ผ๋ก Embed Frameworks ๋จ๊ณ์์ Flutter.framework๋ฅผ ํ์ธํ๊ณ ์ ๊ฑฐํ๊ฑฐ๋ ์ฌ์ฉํ์ง ์์ ๊ฒฝ์ฐ ์ถ๊ฐํ๋ ๊ฒ์ด ์ฝ๊ฐ ๋ ๋์ ์ต์ ์ ๋๋ค.
์ฅ์ : ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ. ๋จ์ : ๋ ๋ณต์กํ ์ฝ๋.
์ด๋ ์ชฝ์ด๋ project.pbxproj ํ์ผ์ ์๋์ผ๋ก ํธ์งํ๊ณ ๋ด์ฅ ํ๋ ์์ํฌ ๋น๋ ๋จ๊ณ์์ ํ๋ ์์ํฌ๋ฅผ ์ ๊ฑฐํ๋ ๋ฉ์ปค๋์ฆ์ด ํ์ํฉ๋๋ค. ๋ค์ ์ถ๊ฐํ๋ ๊ฒ์ ์ง์ํ๋ ๊ฒ์ ์ ์ง์ ์ธ ์์ ์ด ์๋๋ฉฐ ๋ ๋์ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
/cc @tvolkert @gspencergoog @dnfield
์ฃ์กํฉ๋๋ค. ๋ฌธ์ ์ถ์ ๊ธฐ๋ฅผ ํ๋ฌ๋ฉํ ์๋๊ฐ ์์์ต๋๋ค.
๋๋ ์ด ๊ฒฐ์์์ ๋ฐ๋๋ค #20685
ํ์ง๋ง ์ด์ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋๊ตฌ๋ ์ง ์ด๊ฒ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๊น?
@gi097 @cbracken @zoechi @sidealice @hungrymonkey
@tiagosito master
๋ธ๋์น์ ์ผ์์ ์ผ๋ก ํจ์น๊ฐ ์ ์ฉ๋ฉ๋๋ค. ๋น๋ถ๊ฐ์ ์์ ๋ด ์๊ฒฌ์ ๋์ด๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐธ์กฐํ์ญ์์ค.
@tiagosito ํจ์น๊ฐ ๋ง์คํฐ์ ์ ์ ์๋ฅํฉ๋๋ค. ๋น๋ถ๊ฐ์ ์์ ๋ด ์๊ฒฌ์ ๋์ด๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐธ์กฐํ์ญ์์ค.
@cbracken ๋๋ ๋น์ ์ด๋ณด๊ณ ํ ์ต์ 2๋ฅผ ๋ฐ๋์ต๋๋ค # 20685
ํ์ง๋ง ์ด ์์ ๋ฌธ์ ๊ฐ #21989
์ด๋ ๊ฒ ํด๊ฒฐํ์ต๋๋ค #21989
์ ๋ ๋ง์คํฐ ์ฑ๋์ ์ฌ์ฉํ์ง ์๊ณ ์์ต๋๋ค. ๋ง์ํ์ ํจ์น๊ฐ ๋ฆด๋ฆฌ์ค๋๋ฉด ๋ฒ ํ ์ฑ๋์์ ๋์ผํ ์๋ฃจ์ ์ผ๋ก ๊ณต๊ฒฉ์ ๋ฐ๊ฒ ๋๋์?
@cbracken ๊ณผ @gi097 ๊ทธ๋์ ๋๋ฌด ๊ฐ์ฌํ์ต๋๋ค
๋ํ iOS 12๋ก ์ด๋ํ ํ ์ค๋ ์ผ์ฐ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. iOS 12์๋ xcode 10์ด ํ์ํ๋๋ฐ, ์ด ๊ฒฝ์ฐ ํ๋ฌํฐ๊ฐ ์ค๋จ๋์์ต๋๋ค. ์์ ์ต์ 2๊ฐ ์๋ํ์ง๋ง ํจํค์ง ๋น๋ ์บ์๋ฅผ ์ง์์ผ ํฉ๋๋ค.
~/flutter/.pub-cache/hosted/
flutter clean
flutter packages get
๊ทธ๋ ์ง ์์ผ๋ฉด ๋จธ๋ฆฌ๋ฅผ ๊ธ์ ๊ฒ์ ๋๋ค.
์์ ๋ด ์๊ฒฌ ์์ '์ฆ์ ์์ '์ด ๋ง์คํฐ์ ๋์ฐฉํ์ต๋๋ค. ์ด๊ฒ์ dev
์ฑ๋์ ์ต๋ํ ๋นจ๋ฆฌ ์ ๊ณตํ๊ธฐ ์ํด ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค.
์ฐธ๊ณ ๋ก ์ด๊ฒ์ ์ด์ dev
์ฑ๋์ ์๋ฅํ์ต๋๋ค.
์์ฒญ๋!
Btw, ์ด ํจ์น๋ฅผ ๊ธฐ์กด ํ๋ก์ ํธ์ ์ด๋ป๊ฒ ์ ์ฉํฉ๋๊น? ๋จ์ํ ํ๋ฌํฐ ์
๊ทธ๋ ์ด๋๋ฅผ ์ํํ์ฌ?
@tadejkan flutter channel dev
๋ฅผ ์คํํ์ฌ dev ์ฑ๋๋ก ์ ํํ ๋ค์ flutter upgrade
๋ฅผ ์คํํ๊ณ ์ถ์ ๊ฒ์
๋๋ค.
@cbracken ๋จ์์๋ ์์ฌ์ ... ์ฐ๋ฆฌ๋ ๋ ๊ฑฐ์ ์ปดํ์ผ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ํจ์น๊ฐ ์ด๋ฏธ ์ ์ปดํ์ผ ๋ชจ๋๋ฅผ ์์ ํฉ๋๋ค.
์ฆ, ์ฌ๊ธฐ์ ์ ์ํ 1๋จ๊ณ๋ 2๋จ๊ณ์ ํด๋ฒ์ ์ ์ฉํ ํจ์น์ธ์ง ์๋๋ฉด ์ด๋ฏธ ํ์ ๋ ํด๋ฒ์ด๋ฉฐ ์ด ํจ์น๊ฐ ์ธ์ ๋ฒ ํ ์ฑ๋์ ์ ์ฉ๋ ๊ฒ์ธ๊ฐ?
@tiagosito ํจ์น๋ ์์ '์ฆ์ ์์ '(Xcode 10 ์ด์ ๋น๋ ์์คํ ์ผ๋ก ๋ค์ ์ ํ)์ ๊ตฌํํ์ฌ ์ด๋ฅผ ์ฌ๋ฐ๋ฅธ ๋ฐฉ์์ผ๋ก ์ํํ๋ ์์ ์ ๊ตฌํํ๋ ๋ฐ ์๊ฐ์ ํ ์ ํฉ๋๋ค. ์ด์ ๋ํ ๋์ฒด ๋น ๋ฅธ ์์ ์ด ์์ง๋ง iOS ๊ธฐ๋ฐ์ ๋ชจ๋ Flutter ์ฑ(ํ๋ฌ๊ทธ์ธ์ ์์กดํ์ง ์๋ ์ฑ ํฌํจ)์ ๋ํด CocoaPods๋ฅผ ์๊ตฌ ์ฌํญ์ผ๋ก ๋ง๋ค ๊ฒ์ ๋๋ค. CocoaPods์ ์ฒซ ๋ฒ์งธ ์คํ์ ์ํ ์ด๊ธฐ ๋ค์ด๋ก๋ ํฌ๊ธฐ/์๊ฐ์ ๊ฐ์ํ ๋ ์ ๋ ๊ทธ ๊ฒฝ๋ก๋ฅผ ํผํ๋ ๊ฒ์ ์ ๋ง๋ก ์ ํธํฉ๋๋ค.
์ด์ ๋ํ ์ ์ ํ ์๋ฃจ์
์ CocoaPods/ํ๋ฌ๊ทธ์ธ์ด ์ฌ์ฉ ์ค์ผ ๋ ๊ฐ์งํ๊ณ CocoaPods์ ์์กดํ์ฌ ์ด๋ฌํ ๊ฒฝ์ฐ Flutter.framework
๋ฅผ ์ถ๋ ฅ ์ฑ์ ํฌํจํ๊ณ ๋ค๋ฅธ ๋ชจ๋ ๊ฒฝ์ฐ์๋ ํฌํจ ๋จ๊ณ๋ฅผ ์ง์ ํธ์ถํ๋ ๊ฒ์
๋๋ค. ๋ค์์ ์์
ํ๊ฒ ์ต๋๋ค.
๋๋ ์ง๊ธ 4์ผ ๋์ ํด๊ฒฐํ ์ ์๋ ios ๊ตฌ์ถ ๋ฌธ์ ์ ์ง๋ฉดํด ์์ต๋๋ค... ๋๋ฌด ๋ง์ ๊ฒ๋ค๊ณผ ์กฐํฉ์ ์๋ํ๋ฉด์ ์ง๊ธ ๋งค์ฐ ๋ฌด๊ธฐ๋ ฅํด์ง๊ณ ์์ต๋๋ค. ๋งค์ฐ ํผ๋์ค๋ฝ๊ณ ์ฌํผ์ง๋๋ค.
์ด๊ฒ์ ์ฌ๋ฌ ๋ค๋ฅธ ์ค๋ฅ ์ดํ์ ์ต์ ์ค๋ฅ์
๋๋ค.
duplicate symbol _OBJC_IVAR_$_MDMPasscodeCache._localAuthenticationInfo in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeCache_f189776e75765630b82721fafea64052.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeCache_42de90102bb6814d03833694aafcc99d.o) duplicate symbol _OBJC_IVAR_$_MDMPasscodeCache._keychainInfo in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeCache_f189776e75765630b82721fafea64052.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeCache_42de90102bb6814d03833694aafcc99d.o) duplicate symbol _OBJC_IVAR_$_MDMPasscodeCache._hasLocalAuthentication in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeCache_f189776e75765630b82721fafea64052.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeCache_42de90102bb6814d03833694aafcc99d.o) duplicate symbol _OBJC_IVAR_$_MDMPasscodeCache._hasKeychain in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeCache_f189776e75765630b82721fafea64052.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeCache_42de90102bb6814d03833694aafcc99d.o) duplicate symbol _OBJC_IVAR_$_MDMPasscodeCache._cachedState in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeCache_f189776e75765630b82721fafea64052.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeCache_42de90102bb6814d03833694aafcc99d.o) duplicate symbol _OBJC_IVAR_$_MDMPasscodeCache._keychainExpireTime in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeCache_f189776e75765630b82721fafea64052.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeCache_42de90102bb6814d03833694aafcc99d.o) duplicate symbol _OBJC_CLASS_$_MDMPasscodeCache in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeCache_f189776e75765630b82721fafea64052.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeCache_42de90102bb6814d03833694aafcc99d.o) duplicate symbol _OBJC_METACLASS_$_MDMPasscodeCache in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeCache_f189776e75765630b82721fafea64052.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeCache_42de90102bb6814d03833694aafcc99d.o) duplicate symbol _OBJC_IVAR_$_MDMPasscodeCache._hasEnteredBackground in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeCache_f189776e75765630b82721fafea64052.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeCache_42de90102bb6814d03833694aafcc99d.o) duplicate symbol _OBJC_IVAR_$_MDMPasscodeState._status in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeState_d2697588db599ad1e82d46f342216cee.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeState_adbe96d99863168799049cc0f0164c6d.o) duplicate symbol _OBJC_IVAR_$_MDMPasscodeState._info in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeState_d2697588db599ad1e82d46f342216cee.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeState_adbe96d99863168799049cc0f0164c6d.o) duplicate symbol _OBJC_CLASS_$_MDMPasscodeState in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeState_d2697588db599ad1e82d46f342216cee.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeState_adbe96d99863168799049cc0f0164c6d.o) duplicate symbol _OBJC_METACLASS_$_MDMPasscodeState in: /Volumes/flutter/ios/Pods/GoogleMobileVision/Detector/Frameworks/GoogleMobileVision.framework/GoogleMobileVision(MDMPasscodeState_d2697588db599ad1e82d46f342216cee.o) /Volumes/flutter/ios/Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn(MDMPasscodeState_adbe96d99863168799049cc0f0164c6d.o) ld: 13 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
ld: 13 duplicate symbols for architecture x86_64
Launching lib/main.dart on iPhone XS Max in debug mode...
Xcode build done.
Failed to build iOS app
Error output from Xcode build:
โณ
** BUILD FAILED **
Xcode's output:
โณ
warning: The iOS Simulator deployment target is set to 4.3, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'nanopb')
warning: The iOS Simulator deployment target is set to 6.0, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'GoogleUtilities')
warning: The iOS Simulator deployment target is set to 7.0, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'GTMSessionFetcher')
warning: The iOS Simulator deployment target is set to 7.0, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'Protobuf')
warning: The iOS Simulator deployment target is set to 5.0, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'leveldb-library')
warning: The iOS Simulator deployment target is set to 5.0, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'BoringSSL')
warning: The iOS Simulator deployment target is set to 7.0, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'gRPC-RxLibrary')
warning: The iOS Simulator deployment target is set to 7.0, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'gRPC-Core')
warning: The iOS Simulator deployment target is set to 7.0, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'gRPC-C++')
warning: The iOS Simulator deployment target is set to 7.0, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'gRPC-gRPCCertificates')
warning: The iOS Simulator deployment target is set to 7.0, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'gRPC')
warning: The iOS Simulator deployment target is set to 7.0, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'gRPC-ProtoRPC')
warning: The iOS Simulator deployment target is set to 6.0, but the range of supported deployment target versions for this platform is 8.0 to 12.0. (in target 'cloud_firestore')
duplicate symbol __channel in:
/Users/erikiado/Code/internals/flutter/find_word/build/ios/Debug-iphonesimulator/audioplayers/libaudioplayers.a(AudioplayersPlugin.o)
/Users/erikiado/Code/internals/flutter/find_word/build/ios/Debug-iphonesimulator/firebase_admob/libfirebase_admob.a(FLTMobileAd.o)
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
note: Using new build systemnote: Planning buildnote: Constructing build description
Could not build the application for the simulator.
Error launching application on iPhone XS Max.
Exited (sigterm)
@erikiado ๋ฐ @LiveRock ๊ทํ์ ๋ฌธ์ (x86_64 ์๋ฎฌ๋ ์ดํฐ ๋น๋์ ์ค๋ณต ๊ธฐํธ)๋ ์ด ๋ฌธ์ ์ ๊ด๋ จ์ด
๋ฒ ํ ์ฑ๋์ ETA?
@lukepighetti ์ด์ beta
์ฑ๋๋ก ํธ์๋ฉ๋๋ค(์๊ฐ ์ ). flutter upgrade
๋จ์ด์ ธ ์์ต๋๋ค!
๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
@sidealice ๋ ํด๊ฒฐ๋์๋์?
๊ฐ์ฌํฉ๋๋ค, ์๋ฃจ์ 2๊ฐ ์๋ํ์ต๋๋ค!
์ถ๊ฐ ์ ๋ณด๊ฐ ์์ผ๋ฉด ๋ถํํ๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฐ๋ฆฌ๋ ๋ง์ง๋ชปํด ์ง๊ธ ์ด ๋ฒ๊ทธ๋ฅผ ๋ซ์ ๊ฒ์
๋๋ค. ์ถ๊ฐ ์ ๋ณด๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฒ๊ทธ์ ๋ํด ์ฃผ์ ํ์ง ๋ง๊ณ ์๊ฒฌ์ ๋ณด๋ด์ฃผ์ญ์์ค. ๋ฐ๋ก ๋ค์ ์ด๊ฒ ์ต๋๋ค!
๊ธฐ์ฌํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค.
cc @ํ์ด์
๊ณ ๋ง์ ํ! ํจ๊ณผ๊ฐ์๋ค.
Flutter ์์ ์ฑ๋ v1.0.0์์ ์ฌ์ ํ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์์ ์ฌํญ์ด ์์ ์ ์ด์ด์ผํฉ๋๊น?
[โ] Flutter(Mac OS X 10.14.1 18B75์์ ์ฑ๋ ์์ ๋ฒ์ , v1.0.0, ๋ก์ผ์ผ en-GB)
โข /usr/local/share/flutter์ Flutter ๋ฒ์ 1.0.0
โข Framework ๊ฐ์ 5391447fae(3์ฃผ ์ ), 2018-11-29 19:41:26 -0800
โข ์์ง ๋ฒ์ 7375a0f414
โข Dart ๋ฒ์ 2.1.0(๋น๋ 2.1.0-dev.9.4 f9ebf21297)[โ] iOS ํด์ฒด์ธ - iOS ๊ธฐ๊ธฐ์ฉ ๊ฐ๋ฐ(Xcode 10.1)
โข /Applications/Xcode.app/Contents/Developer์ Xcode
โข Xcode 10.1, ๋น๋ ๋ฒ์ 10B61
โข ios-deploy 2.0.0
โข CocoaPods ๋ฒ์ 1.5.3
@JannieT dev
๋ ํ์ธํด์ฃผ์ธ์.
stable
์ ์์ด์ผ ํ๋์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง dev
์์ ์๋ํ๋ค๋ฉด ๋๋ต์ ์๋ง๋ "์๋์"์ผ ๊ฒ์
๋๋ค.
๊ฐ์ฌ ํด์! ํ์ธ์ ์ํด ์์ ์ฌํญ์ Stable v1.0.0์ ์์ต๋๋ค.
์์นด์ด๋ธ๋ฅผ ๋ง๋ค๋ ค๊ณ ํ ๋ ๋ฌธ์ํ๋ .xcworkspace ๋์ .xcodeproject ํ์ผ์ ์ด์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๋๋ ์ง๊ธ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
error: Multiple commands produce '/Users/n.gendron/Library/Developer/Xcode/DerivedData/Runner-eilfeqiwvjuvbghjmkepqybkaoja/ArchiveIntermediates/Runner/InstallationBuildProductsLocation/Applications/Runner.app/Frameworks/Flutter.framework':
1) Target 'Runner' has copy command from '/Users/n.gendron/Documents/GitLab/techno_store/ios/Flutter/Flutter.framework' to '/Users/n.gendron/Library/Developer/Xcode/DerivedData/Runner-eilfeqiwvjuvbghjmkepqybkaoja/ArchiveIntermediates/Runner/InstallationBuildProductsLocation/Applications/Runner.app/Frameworks/Flutter.framework'
2) That command depends on command in Target 'Runner': script phase โ[CP] Embed Pods Frameworksโ
[โ] Flutter (Channel dev, v1.2.2, on Mac OS X 10.13.6 17G5019, locale fr-CA)
โข Flutter version 1.2.2 at /Library/flutter
โข Framework revision 007a415c2a (5 days ago), 2019-02-21 20:22:47 -0800
โข Engine revision f1f19bba8f
โข Dart version 2.2.0 (build 2.2.0-dev.2.1 c92d5ca288)
[โ] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
โข Android SDK at /Users/n.gendron/Library/Android/sdk
โข Android NDK location not configured (optional; useful for native profiling support)
โข Platform android-28, build-tools 28.0.3
โข Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
โข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
โข All Android licenses accepted.
[โ] iOS toolchain - develop for iOS devices (Xcode 10.1)
โข Xcode at /Applications/Xcode.app/Contents/Developer
โข Xcode 10.1, Build version 10B61
โข ios-deploy 1.9.4
โข CocoaPods version 1.6.1
[โ] Android Studio (version 3.3)
โข Android Studio at /Applications/Android Studio.app/Contents
โข Flutter plugin version 33.1.1
โข Dart plugin version 182.5215
โข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
[โ] VS Code
โข VS Code at /Applications/Visual Studio Code.app/Contents
โข Flutter extension version 2.12.2
[โ] Connected device (1 available)
โข iPad de TechnoSolutions โข 3e430eb4db265d124e9684f487cc542f2442ed1d โข ios โข iOS 10.3.3
โข No issues found!
Legacy Build System ์ ์๋ํ์ง๋ง ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. Flutter.framework
์ ๊ฑฐ๋ ์๋ํ์ง๋ง ์ค๋ฅ๋ ๋์ผํฉ๋๋ค.
#import <barcode_scan/BarcodeScanPlugin.h> # 'barcode_scan/BarcodeScanPlugin.h' file not found
์ํฅ์ ๋ฐ๋ ํ๋ฌ๊ทธ์ธ์ ๋ฐ์ฝ๋_์ค์บ ์ ๋๋ค.
๋๋ฅผ ์ํด ๊ทธ๊ฒ์ ํด๊ฒฐํ ๊ฒ์ https://github.com/apptreesoftware/flutter_barcode_reader/issues/44#issuecomment -460415307์ ๋๋ค.
open -a Xcode ios
์๋ก์ด ๋น๋ ์์คํ ์ผ๋ก ์ด๋ํ๊ธฐ ์ํ ์ฅ๊ธฐ์ ์ธ ์์ ์ฌํญ์ด ์๋๋ผ ์ด ์์ ์์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์๊ธฐ ๋๋ฌธ์ ๋ค์ ์ฝ๋๋ค.
์ถ๊ฐ ์ ๋ณด๊ฐ ์์ผ๋ฉด ๋ถํํ๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฐ๋ฆฌ๋ ๋ง์ง๋ชปํด ์ง๊ธ ์ด ๋ฒ๊ทธ๋ฅผ ๋ซ์ ๊ฒ์
๋๋ค. ์ถ๊ฐ ์ ๋ณด๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฒ๊ทธ์ ๋ํด ์ฃผ์ ํ์ง ๋ง๊ณ ์๊ฒฌ์ ๋ณด๋ด์ฃผ์ญ์์ค. ๋ฐ๋ก ๋ค์ ์ด๊ฒ ์ต๋๋ค!
๊ธฐ์ฌํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค.
ํ๋ฌํฐ๋ฅผ ๊นจ๋ํ๊ฒ ๋ง๋ ๋ค์ Android ์คํ๋์ค๋ฅผ ํตํด ๋น๋ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
[โ] Flutter (Channel beta, v1.3.8, on Mac OS X 10.14.4 18E226, locale en-AU)
โข Flutter version 1.3.8 at /Users/yantsui/Installs/flutter
โข Framework revision e5b1ed7a7f (6 weeks ago), 2019-03-06 14:23:37 -0800
โข Engine revision f4951df193
โข Dart version 2.2.1 (build 2.2.1-dev.0.0 571ea80e11)
[โ] Android toolchain - develop for Android devices
โ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.io/setup/#android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, set ANDROID_HOME to that location.
You may also want to add it to your PATH environment variable.
[โ] iOS toolchain - develop for iOS devices (Xcode 10.2)
โข Xcode at /Applications/Xcode.app/Contents/Developer
โข Xcode 10.2, Build version 10E125
โข ios-deploy 1.9.4
โข CocoaPods version 1.6.1
[!] Android Studio (not installed)
โข Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.io/setup/#android-setup for detailed instructions).
[โ] IntelliJ IDEA Ultimate Edition (version 2018.3.5)
โข IntelliJ at /Applications/IntelliJ IDEA.app
โข Flutter plugin version 34.0.2
โข Dart plugin version 183.5912.23
[!] VS Code (version 1.33.0)
โข VS Code at /Applications/Visual Studio Code.app/Contents
โ Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[โ] Connected device (1 available)
โข iPhone Xส โข 39D838DF-E49E-4F0A-8F40-B73C91700F6E โข ios โข com.apple.CoreSimulator.SimRuntime.iOS-12-2 (simulator)
! Doctor found issues in 3 categories.
flutter clean
flutter build ios
Xcode 10 -> Product -> Clean Build Folder
Xcode 10 -> Product -> Run
Xcode ์ค๋ฅ:
Showing All Messages
:-1: Multiple commands produce '/Users/meow/Documents/meow/crystal/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework':
1) Target 'Runner' has copy command from '/Users/meow/Documents/meow/crystal/ios/Flutter/Flutter.framework' to '/Users/meow/Documents/meow/crystal/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework'
2) That command depends on command in Target 'Runner': script phase โ[CP] Embed Pods Frameworksโ
๊ฒฐ์ ๋:
open -a Xcode ios
ํ์ง๋ง ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋์ Runner.xcworkspace
๋์ ์ฌ์ฉํ์ฌ Xcode์์ ํ๋ก์ ํธ๋ฅผ ์ด์๊ณ ์๋ํ์ต๋๋ค.
์ด ๋ฌธ์ ๋ ์์ ๊ณต๊ฐ์ ํตํด ํ๋ก์ ํธ๋ฅผ ์ด ๋์๋ ์ฌ์ ํ ๋ฐ์ํฉ๋๋ค. ๋น๋ ์์คํ ์ ๋ ๊ฑฐ์๋ก ๋ณ๊ฒฝํ๋ ๊ฒ๋ง์ผ๋ก ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
[CP] Emded Pods Framework ๋น๋ ๋จ๊ณ์์ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ํ์ผ์ ์ ๊ฑฐํ๋ CocoaPods ์ค์น ์ต์ disable_input_output_paths๋ฅผ ํ์ฉํ ์๋ ์์ต๋๋ค. ์๋ก์ด Xcode ๋น๋ ์์คํ ์ด ์ ๋ ฅ ํ์ผ์ ๊ฑด๋๋ ค๋ ์คํฌ๋ฆฝํธ ์คํ์ ์คํจํ๊ธฐ ๋๋ฌธ์ ํด๋น ์ค์น ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค. https://www.ralfebert.de/ios/blog/cocoapods-clean-input-output-files๋ฅผ ์ฐธ์กฐ
์ฅ์ :
๋จ์ :
@jmagman ๊ต์ฅํด ! ์ด ์ ๊ทผ ๋ฐฉ์์ด ์ข์ ๋ณด์ ๋๋ค. ์ปดํ์ผ ๋น์ฉ์ด ์ ๋ง ๋ง์ด ๋๋ ํ๋ฌ๊ทธ์ธ Cocoapods๊ฐ ๋ณด์ด๋ ์ง์ ์ ๋๋ฌํ๋ฉด ์ด๋ฅผ ์ต์ ํ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ๊ทธ ๋์ ์ฆ๊ฐ์ ์ธ ์ํ์ ํด๊ฒฐํฉ๋๋ค!
๊ฐ์ฌ ํด์!!!!!
๊ฐ์ฌ ํด์
์ด ์ค๋ฅ๊ฐ ๊ณ์ ํ์๋๋ฉด Xcode ํ๋ก์ ํธ๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํด์ผ ํฉ๋๋ค.
install! 'cocoapods', :disable_input_output_paths => true
์๋ฅผ ๋ค์ด https://github.com/flutter/flutter/blob/master/examples/platform_view/ios/Podfile ์ ์ฐธ์กฐ
@jmagman ๊ฐ์ฌํฉ๋๋ค - ํ์ง๋ง ์ด๊ฒ์ด # flutter upgrade
๋ฅผ ํตํด Podfile์์ ์ด ๋ณ๊ฒฝ์ ์๋์ผ๋ก ์ํ) flutter build ios
์ฌ์ฉํ์ฌ ๋น๋ํ ์ ์์ง๋ง Xcode์์ ์์นด์ด๋ธํ๋ ค๊ณ ํ ๋ # ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. 18673.
@jmagman ๊ฐ์ฌํฉ๋๋ค - ํ์ง๋ง ์ด๊ฒ์ด #
flutter upgrade
๋ฅผ ํตํด Podfile์์ ์ด ๋ณ๊ฒฝ์ ์๋์ผ๋ก ์ํ)flutter build ios
์ฌ์ฉํ์ฌ ๋น๋ํ ์ ์์ง๋ง Xcode์์ ์์นด์ด๋ธํ๋ ค๊ณ ํ ๋ # ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. 18673.
@jmagman ๋๋ ํด๊ฒฐ์ฑ ์ ์ฐพ์์ต๋๋ค. ์ค์ ๋ก ์ด https://github.com/flutter/flutter/issues/16246#issuecomment -476329255๊ฐ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๋ถํธ์ ๋ผ์ณ ๋๋ ค ์ฃ์กํฉ๋๋ค.
@jmagman XCode์ ์ต์ํ์ง ์์ ๋ถ๋ค์ ์ํด 3๋จ๊ณ๋ฅผ ๋ ์ค๋ช ํด ์ฃผ์๊ฒ ์ต๋๊น? ๋ชจ๋ ์ถ๋ ฅ ํ์ผ์ ์ ๊ฑฐํ๋ Runner ๋์ "[CP] Embed Pods Framework" ๋น๋ ๋จ๊ณ๋ ์ด๋์ ์์ต๋๊น?
๊ทธ๊ฒ์ ๋ฐ๊ฒฌ. ์ผ์ชฝ ํ์ ๋ชจ์์์ "Runner"๋ฅผ ํด๋ฆญํ ๋ค์ "Build Phases" ํญ์ ํด๋ฆญํ ๋ค์ "Output Files"๋ก ์คํฌ๋กคํ์ฌ ๋ชจ๋ ์ ํํ ๋ค์ ๋นผ๊ธฐ ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ ๊ฑฐํฉ๋๋ค.
Mac ์์ด ์ด๋ป๊ฒ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๊น? ํด๋ผ์ฐ๋ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ์ฌ iOS์ฉ์ผ๋ก ๋น๋ํ์ง๋ง ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค...
์ด ์ค๋ฅ๊ฐ ๊ณ์ ํ์๋๋ฉด Xcode ํ๋ก์ ํธ๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํด์ผ ํฉ๋๋ค.
- ํ์ผ > ์์ ๊ณต๊ฐ ์ค์ ... > ์์คํ ๋น๋, ๋๋กญ๋ค์ด์ ์ ๋น๋ ์์คํ (๊ธฐ๋ณธ๊ฐ)์ผ๋ก ๋ณ๊ฒฝ
- Podfile์์ ๋ค์ ํ์ ์ถ๊ฐํ์ญ์์ค.
install! 'cocoapods', :disable_input_output_paths => true
์๋ฅผ ๋ค์ด https://github.com/flutter/flutter/blob/master/examples/platform_view/ios/Podfile ์ ์ฐธ์กฐ
- Runner ๋์ "[CP] Embed Pods Framework" ๋น๋ ๋จ๊ณ์์ ๋ชจ๋ ์ถ๋ ฅ ํ์ผ์ ์ ๊ฑฐํฉ๋๋ค.
๋๋ #1 ๋ฐ #2๋ฅผ ์ํํ ๋ค์ ios ๋๋ ํ ๋ฆฌ์์ pod install
๋ฅผ ์คํํ ์ ์์ผ๋ฉฐ CocoaPods๋ ๋น๋ ๋จ๊ณ์์ ํด๋น ์ถ๋ ฅ ํ์ผ์ ์๋์ผ๋ก ์ ๊ฑฐํด์ผ ํฉ๋๋ค.
@gincos Mac์ด ์๋ ๊ฒฝ์ฐ PR https://github.com/flutter/flutter/pull/33684/ ์์ Xcode ํ์ผ์ ์๋์ผ๋ก ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๋ณผ ์ ์์ต๋๋ค. Mac์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋์ ์์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์!
install! 'cocoapods', :disable_input_output_paths => true
ํด๋ผ์ฐ๋ ํ์ดํ๋ผ์ธ์ด pod install
ํ๊ณ ์์ #3์ ์ฒ๋ฆฌํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ฌ์ ํ ์ค๋ฅ๊ฐ ํ์๋๋ฉด ios/Runner.xcodeproj/project.pbxproj๋ฅผ ํธ์งํ์ฌ ์ถ๋ ฅ ํ์ผ์ ์๋์ผ๋ก ์ ๊ฑฐํ ์ ์์ต๋๋ค. ์ด ์์
์ ์กฐ์ฌํ์ญ์์ค! Xcode ํ๋ก์ ํธ ํ์ผ์ ์์๋์ง ์์ต๋๋ค.
https://github.com/flutter/flutter/pull/33684/files#diff -e9e57f7f2e911a135acd8f08e79b20e1
@jmagman ๊ฐ์ฌํฉ๋๋ค! ์ด๊ฒ์ ๋งค๋ ฅ์ฒ๋ผ ์๋ํ์ต๋๋ค! ์, ํด๋ผ์ฐ๋ ๊ณต๊ธ์๊ฐ ํฌ๋ ์ค์น๋ฅผ ์คํํ๊ณ ์ด์ ์ต์ ๋ฒ ํ์์ Android ๋ฐ iOS ๋ชจ๋์ ๋ํด ์ฌ๋ฐ๋ฅธ ์ํฐํฉํธ๋ฅผ ์์ฑํ๊ณ ์์ต๋๋ค.
์ํฅ์ ๋ฐ๋ ํ๋ก์ ํธ
์ด ๋ฌธ์ ๋ CocoaPods์ ์์กดํ๋ Xcode 10์ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋ ๋ชจ๋ Flutter ํ๋ก์ ํธ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ ํ๋ฌ๊ทธ์ธ์ ์์กดํ๋ ํ๋ก์ ํธ๋ฅผ ์๋ฏธํฉ๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
๋ ๊ฐ์ง ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
- ์ต์ 1: ๊ธฐ์กด ๋น๋ ์์คํ ์ ์ฌ์ฉํฉ๋๋ค. @gi097 ์์ ์ธ๊ธํ ๋๋ก
ios/Runner.xcworkspace
์ด๊ณ ๋น๋ ์์คํ ์Legacy Build System
ํฉ๋๋ค.์ต์ 2: ์๋ก์ด Xcode 10 ๋น๋ ์์คํ ์ ์ฌ์ฉํฉ๋๋ค.
ios/Runner.xcworkspace
์ด๊ธฐ- ํ๋ก์ ํธ ํ์๊ธฐ ์ฌ์ด๋๋ฐ์์
Runner
ํ๋ก์ ํธ๋ฅผ ์ ํํฉ๋๋ค.- ๊ธฐ๋ณธ ๋ณด๊ธฐ์์
Runner
๋์์ ์ ํํ ๋ค์Build Phases
ํญ์ ์ ํํฉ๋๋ค.Embed Frameworks
๋จ๊ณ๋ฅผ ํ์ฅํ๊ณ ํฌํจ๋ ํ๋ ์์ํฌ ๋ชฉ๋ก์์Flutter.framework
๋ฅผ ์ ํํฉ๋๋ค.-
๋ฅผ ํด๋ฆญํ์ฌ ๋ชฉ๋ก์์Flutter.framework
-
์ ์ ๊ฑฐํฉ๋๋ค(App.framework
_์ ์ง_ ).๊ทผ๋ณธ ์์ธ
ํ๋ฌ๊ทธ์ธ์ด ์ฌ์ฉ ์ค์ผ ๋ Flutter.framework๋ฅผ ๋น๋ ์ ํ๋ฆฌ์ผ์ด์ Frameworks ๋๋ ํ ๋ฆฌ์ ๋ณต์ฌํ๋ ๋ ๊ฐ์ง ๊ฒฝ์ ๋น๋ ์์ ์ด ์์ต๋๋ค.
- Runner ํ๋ก์ ํธ์
Embed Frameworks
๋น๋ ๋จ๊ณpod install
๊ฐ ํ๋ก์ ํธ์์ ์์ฑํ๋[CP] Embed Pods Frameworks
๋น๋ ๋จ๊ณ.ํญ๋ชฉ (1)์ ํ๋ฌ๊ทธ์ธ์ด ์๋ ๊ฒฝ์ฐ(๋ฐ๋ผ์ Xcode ํ๋ก์ ํธ์ CocoaPods ํตํฉ์ด ์๋ ๊ฒฝ์ฐ) ๋น๋๋ ์ฑ์ ํ๋ ์์ํฌ๊ฐ ๋ณต์ฌ๋๋๋ก ํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค. ํญ๋ชฉ (2)๋ Flutter์ podspec์ด
Flutter.framework
๋ฅผ vended_framework๋ก ์ ์ธํ๊ณ CocoaPods๊ฐ CocoaPods ์ข ์์ฑ์ ์ ์ด์ ํ์์์ ์ด๋ฌํ ๊ฐ vended_framework์ ๋ํ ๋ณต์ฌ ๋จ๊ณ๋ฅผ ์๋์ผ๋ก ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ ์์ต๋๋ค.์ฆ๊ฐ์ ์ธ ์์
์ฆ๊ฐ์ ์ธ ์์ ์ ์ฅ๊ธฐ์ ์ผ๋ก ๋ ๋์ ์๋ฃจ์ ์ด ๋ง๋ จ๋ ๋๊น์ง ๋ ๊ฑฐ์ ๋น๋ ์์ ์ ์๋์ผ๋ก ๋ค์ ์ ํํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๊ฒ์ ๋๋ค. ์ด์ ๋ฒ ํ๋
-useNewBuildSystem=NO
๋๋-useModernBuildSystem=NO
ํ์ง๋ง GM ๋น๋์์ ์ ๊ฑฐ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ํ์ฌ ์ด ์์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ํค-๊ฐ ์(<key>BuildSystemType</key><string>Original</string>
)์ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
.์ฅ๊ธฐ ์์
๊ฐ์ฅ ๊ฐ๋จํ ์ต์ ์ ์์ Embed Frameworks ๋จ๊ณ์์ Flutter.framework๋ฅผ ์ ๊ฑฐํ๊ณ ํ๋ฌ๊ทธ์ธ ์ข ์์ฑ์ด ์๋ ๊ฒฝ์ฐ์๋ ํญ์ ํฌ๋ ์ค์น์ ์์กดํ๋ ๊ฒ์ ๋๋ค. Embed Frameworks ๋จ๊ณ์์ Flutter.framework๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด ๊ธฐ์กด ํ๋ก์ ํธ๋ฅผ ์๋์ผ๋ก ํธ์งํ๋ ค๋ฉด Flutter ๋๊ตฌ๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
์ฅ์ : ๋ ๊ฐ๋จํ ์ฝ๋. con: cocoapods๋ฅผ Flutter ๊ฐ๋ฐ์ ํ์ํ ์ค์น ๋จ๊ณ๋ก ๋ง๋ญ๋๋ค. ์ฒซ ๋ฒ์งธ ์คํ์๋ ์ ์ฅ์์ ๊ฑฐ๋ํ๊ณ ๋๋ฆฐ ๋ค์ด๋ก๋๊ฐ ํฌํจ๋ฉ๋๋ค.
ํ๋ก์ ํธ๊ฐ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋์ง ์ฌ๋ถ๋ฅผ ์๋์ผ๋ก ๊ฐ์งํ๊ณ Xcode ํ๋ก์ ํธ๋ฅผ ํธ์งํ์ฌ ํ๋ฌ๊ทธ์ธ์ด ์ฌ์ฉ ์ค์ด๋ฉด ์๋์ผ๋ก Embed Frameworks ๋จ๊ณ์์ Flutter.framework๋ฅผ ํ์ธํ๊ณ ์ ๊ฑฐํ๊ฑฐ๋ ์ฌ์ฉํ์ง ์์ ๊ฒฝ์ฐ ์ถ๊ฐํ๋ ๊ฒ์ด ์ฝ๊ฐ ๋ ๋์ ์ต์ ์ ๋๋ค.
์ฅ์ : ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ. ๋จ์ : ๋ ๋ณต์กํ ์ฝ๋.
์ด๋ ์ชฝ์ด๋ project.pbxproj ํ์ผ์ ์๋์ผ๋ก ํธ์งํ๊ณ ๋ด์ฅ ํ๋ ์์ํฌ ๋น๋ ๋จ๊ณ์์ ํ๋ ์์ํฌ๋ฅผ ์ ๊ฑฐํ๋ ๋ฉ์ปค๋์ฆ์ด ํ์ํฉ๋๋ค. ๋ค์ ์ถ๊ฐํ๋ ๊ฒ์ ์ง์ํ๋ ๊ฒ์ ์ ์ง์ ์ธ ์์ ์ด ์๋๋ฉฐ ๋ ๋์ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
/cc @tvolkert @gspencergoog @dnfield
@cbracken ๊ฐ์ฌํฉ๋๋ค. ์๋ํฉ๋๋ค. ๋์์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๋ฌปํ ์ดํ ์ค์ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ค์ ๋ณต์ฌํฉ๋๋ค.
์ด ์ค๋ฅ๊ฐ ๊ณ์ ํ์๋๋ฉด Xcode ํ๋ก์ ํธ๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํด์ผ ํฉ๋๋ค.
install! 'cocoapods', :disable_input_output_paths => true
์๋ฅผ ๋ค์ด https://github.com/flutter/flutter/blob/master/examples/platform_view/ios/Podfile ์ ์ฐธ์กฐ
flutter build ios
์ด ๋ง์ด๊ทธ๋ ์ด์ ์ง์นจ์ด ์ด ๋ฌธ์ ์ ๋์ ๋จ๋๋ก ์ ๊ธ ๊ฒ์ ๋๋ค. ์ด ์ง์นจ์ ๋ฐ๋ฅธ ํ ์ถ๊ฐ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ ์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ญ์์ค.
์
๋ฐ์ดํธ : ๋น์ ์ด์์ ๋ง์ด๊ทธ๋ ์ด์
์ง์นจ์ ๋ฐ๋ฅด ๊ฒฝ์ฐ https://flutter.dev/docs/development/ios-project-migration ๋น์ ์ ์ ๊ฑฐ ํ ์ ์์ต๋๋ค install! 'cocoapods', :disable_input_output_paths => true
๋น์ ์์ ios/Podfile
. Flutter ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ปดํ์ผ ์๊ฐ์ด ํฅ์๋ ์ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Xcode 10์์
Runner
์์ ๊ณต๊ฐ ํ๋ก์ ํธ๋ฅผ ์ด์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์File
,Workspace Settings
ํ์ฌ ๋น๋ ์์คํ ์Legacy Build System
.