플러터 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가 나오고 업데이트 엄두가 나지 않아서 망설였는데
생각보다 그렇게 큰 작업은 아닌거 같다.
와 덕분에 해결했습니다. 감사합니다.