[Flutter] v1 프로젝트에서 v2로 갈아타기! Flutter.h Not Found error

Tykan·2021년 6월 11일
2

2.0 마이그레이션을 한 이유

플러터 2.0 배포 초기에는 많은 패키지들이 null-safety를 지원하지 않았고, 당장 업그레이드해야 할 필요성을 느끼지 못해 1.22.6 버전을 유지하고 있었다.

지금은 유지보수가 진행되고 있는 대부분의 패키지들은 null-safety 지원이 되고 이를 기반으로 업데이트가 되고 있어 충분히 갈아탈 명분이 생겼다.

나 같은 경우에 6개 정도 사용 불가능한 패키지가 있었고, 5개는 다른 패키지로 대체하고 1개는 포크해서 null-safety 직접 수정할 계획을 세우고 작업에 들어갔다.

역시나 에러

v2-migrate 작업을 마치고...(생각보다 빨리 끝난다 ☺️)
iOS 환경에서 빌드를 하는데 에러가 뿜!

fatal error: 'Flutter/Flutter.h' file not found

해결법

v2기반으로 프로젝트를 생성해서 iOS 폴더 내의 파일을 비교해보다가 찾았다. Flutter 깃허브 이슈에도 해당 문제를 찾을 수 있었다.

일단 날려주자!

flutter clean \
&& rm ios/Podfile.lock pubspec.lock \
&& rm -rf ios/Pods ios/Runner.xcworkspace \

iOS/Podfile을 열어서 가장 아래에 보면

post_install do |installer|
	installer.pods_project.targets.each do |target|
		target.build_configurations.each do |config|
		config.build_settings['ENABLE_BITCODE'] = 'NO'
		end
	end
end

이 부분에 한 줄만 추가해준다.

post_install do |installer|
	installer.pods_project.targets.each do |target|
	flutter_additional_ios_build_settings(target)
		target.build_configurations.each do |config|
            	config.build_settings['ENABLE_BITCODE'] = 'NO'
		end
	end
end

[참고] https://github.com/flutter/flutter/issues/81462#issuecomment-829218942

프로젝트에 맞게 개별적으로 설정한 부분도 있는데
에러를 고치면서 ios/Flutter/AppFrameworkInfo.plist에서 최소 앱 버전 설정을 잘못해서 'IPHONEOS_DEPLOYMENT_TARGET' 에러가 나기도 했다.

남은 일...

이제 디테일하게 앱 전반적인 기능을 모두 점검해야 한다 ㅠㅠ
하지만 flutter v2가 나오고 업데이트 엄두가 나지 않아서 망설였는데
생각보다 그렇게 큰 작업은 아닌거 같다.

profile
개발자 Theo :: 고민은 성장의 힘

3개의 댓글

comment-user-thumbnail
2021년 11월 17일

와 덕분에 해결했습니다. 감사합니다.

답글 달기
comment-user-thumbnail
2022년 1월 12일

덕분에 해결했어요 ㅠㅠ 감사합니다!!

1개의 답글